我想将要使用的浏览器(Firefox、Chrome、IE)传递到我的单元测试中。
[TestInitialize()]
public void Initialize(string URL, string Country, string Browser)
{
this.URL = URL;
this.Country = Country;
this.Browser = Browser;
}
类似于:
public DefaultDriver _webDriver = new DefaultDriver();
然后将默认驱动程序分配给正确的浏览器类型:
if (Browser == "Firefox")
_webDriver = _firefoxDriver;
else if (Browser == "Chrome")
_webDriver = new ChromeDriver();
else if (Browser == "IE")
_webDriver = new InternetExplorerDriver();
但这不起作用,因为没有与我能找到的 ChromeDriver、FireFoxDriver 和 InternetExplorerDriver 兼容的 DefaultDriver。什么是执行此操作的好方法或其他方法来完成在 C# 中发送浏览器类型?我正在使用表单应用程序来运行测试,并希望将不同的浏览器传递给同一个测试。
请您参考如下方法:
WebDriver 项目广泛使用接口(interface)。虽然当前所有特定于浏览器的实现都源自 RemoteWebDriver,但这不是必需的。您真正想要的是使用 IWebDriver 接口(interface)。
public IWebDriver _webdriver = null;
然后在你的工厂方法中做这样的事情:
switch (browser)
{
case "IE":
_webdriver = new InternetExplorerDriver();
break;
case "Firefox":
_webdriver = new FirefoxDriver();
break;
case "Chrome":
_webdriver = new ChromeDriver();
break;
}
