在Visual Studio 2013中使用C#编写的脚本,问题是在运行测试时,驱动程序运行第一个测试方法而下一个测试方法失败,新的浏览器也在打开。因此,当到达下一个方法时,驱动程序连接将关闭并为每个测试方法启动新的浏任何帮助请?以下是我创建的示例代码: -
命名空间AutomationProject { [识别TestClass] 公共类ClassName {
public IWebDriver driver;
String baseUrl = "....";
//System.Environment.SetEnvironmentVariable("restart.browser.each.scenario", "false",);
[TestInitialize]
public void BeforeTest()
{
/
driver = new FirefoxDriver();
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(20));
driver.Manage().Window.Maximize();
}
[TestMethod]
public void TestMethoed1()
{
driver.Navigate().GoToUrl(baseUrl);
.............
.............
}
[TestMethod]
public void TestMethoed2()
{
driver.FindElement(By.XPath("//input[@id='submitInput']")).Click();
......................... ..........................
}
[TearDown]
public void CloseDriver()
{
Thread.Sleep(2000);
driver.Close();
}
} }
答案 0 :(得分:0)
问题是,当第二个方法在新浏览器窗口上运行时,该方法为空是空的,因此您查找输入字段的调用失败。使用drover.Navigate()。GoToUrl()进入你有提交元素的页面
答案 1 :(得分:0)
我花了很长时间后得到了解决方案 问题 第一个方法成功执行。在达到下一个测试方法时,当前的Web驱动程序正在关闭并且新驱动程序正在打开,因此我正在获
解决方案是:
我使用Nuint框架工作并使用[TestfixtureSetup] - >驱动程序将在说明测试方法之前启动,[TestFixtureTearDown] - >一旦所有测试方法执行,这将关闭驱动程序。