在同一 class 中使用 FluentAutomation 和 MSTests 在多个测试中重用浏览器实例
Reuse browser instance across multiple tests in same class using FluentAutomation with MSTests
我正在将 FluentAutomation 与 MSTests 结合使用。我需要能够在同一个 class 中跨多个测试方法重用浏览器实例。例如,构造函数或TestInitialize方法将登录到url,那么class中的所有后续测试方法将需要使用相同的登录会话和浏览器实例。
尝试使用 FluentSession.EnableStickySession();但这没有用,执行中的第二种方法抱怨 IEDriver 已被另一个进程使用。
有什么解决办法吗?
下面是该场景的示例代码:
[TestClass]
public class DummyTests : FluentTest
{
public DummyTests()
{
SeleniumWebDriver.Bootstrap(SeleniumWebDriver.Browser.InternetExplorer);
I.Open(@"http://google.com");
FluentSession.EnableStickySession();
}
[TestMethod]
public void First()
{
I.Wait(2)
.Enter("NBA").In("input#lst-ib.gsfi")
.Click("button[type='submit']");
}
[TestMethod]
public void Second()
{
I.Wait(2)
.Enter("MLB").In("input#lst-ib.gsfi")
.Click("button[type='submit']");
}
}
在创建任何浏览器之前调用 EnableStickySession。大多数用户都使用 init/TestInitialize/ClassInitialize.
我正在将 FluentAutomation 与 MSTests 结合使用。我需要能够在同一个 class 中跨多个测试方法重用浏览器实例。例如,构造函数或TestInitialize方法将登录到url,那么class中的所有后续测试方法将需要使用相同的登录会话和浏览器实例。
尝试使用 FluentSession.EnableStickySession();但这没有用,执行中的第二种方法抱怨 IEDriver 已被另一个进程使用。
有什么解决办法吗?
下面是该场景的示例代码:
[TestClass]
public class DummyTests : FluentTest
{
public DummyTests()
{
SeleniumWebDriver.Bootstrap(SeleniumWebDriver.Browser.InternetExplorer);
I.Open(@"http://google.com");
FluentSession.EnableStickySession();
}
[TestMethod]
public void First()
{
I.Wait(2)
.Enter("NBA").In("input#lst-ib.gsfi")
.Click("button[type='submit']");
}
[TestMethod]
public void Second()
{
I.Wait(2)
.Enter("MLB").In("input#lst-ib.gsfi")
.Click("button[type='submit']");
}
}
在创建任何浏览器之前调用 EnableStickySession。大多数用户都使用 init/TestInitialize/ClassInitialize.