问题是在运行测试时,驱动程序运行第一个测试方法而下一个测试方法失败,新的浏览器也在打开。任何的想法?

时间:2015-11-16 06:23:02

标签: c# selenium

在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();
}

} }

2 个答案:

答案 0 :(得分:0)

问题是,当第二个方法在新浏览器窗口上运行时,该方法为空是空的,因此您查找输入字段的调用失败。使用drover.Navigate()。GoToUrl()进入你有提交元素的页面

答案 1 :(得分:0)

我花了很长时间后得到了解决方案 问题 第一个方法成功执行。在达到下一个测试方法时,当前的Web驱动程序正在关闭并且新驱动程序正在打开,因此我正在获

解决方案是:

我使用Nuint框架工作并使用[TestfixtureSetup] - >驱动程序将在说明测试方法之前启动,[TestFixtureTearDown] - >一旦所有测试方法执行,这将关闭驱动程序。