我正在做UI測試。起初,我只使用Firefox瀏覽器驅動程序開始,所以我將在類下聲明WebDriverWait變量,並在代碼塊中顯示的[SetUp]方法下指定它,並且每個測試都可以使用它。如何在測試驅動程序類型爲測試用例時實例化像WebDriverWait這樣的變量?
public class FirefoxTest {
public IWebDriver _driver;
public WebDriverWait _wait;
[SetUp]
public void SetupTest() {
_driver = new FirefoxDriver();
_wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(30));
}
然後我試圖通過與[TestCaseSource(typeof運算(WebDriverFactory), 「驅動程序」)]屬性指定它們將更多BrowserDrivers。所以現在_driver變量必須從[SetUp]中移出,並且_wait變量不知道要使用哪個_driver。
我試圖在每個測試中實例化它,但這是重複性的,那些測試使用的方法也需要WebDriverWait變量,當另一個測試試圖實現它們時,這些方法不會再運行,因爲WebDriverWait變量已經聲明。
我的問題是我可以在哪裏實例化WebDriverWait和其他驅動程序相關的東西,通常用[SetUp]和[TearDown]寫成,比如driver.Quit(),當驅動程序被賦予[TestCase]時。
現在,我已經試寫的
[TestCaseSource(typeof(WebDriverFactory), "Drivers")]
public void SomeTest(IWebDriver driver){
driver.Navigate().GoTo....
}
的問題是,然後我必須包括
WebDriverWait _wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
driver.Quit()
在所有的測試
和_wait在所有在重用的方法試驗。我在[SetUp]和[Teardown]中擁有的東西。
這解決了問題我在我特別像WebDriverWait分離方法。謝謝。 – 2013-04-15 14:10:39