1

我想将要使用的浏览器(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# 中完成浏览器类型发送的好方法是什么?我正在使用表单应用程序来运行测试,并希望将不同的浏览器传递给同一个测试。

4

2 回答 2

3

WebDriver 项目广泛使用接口。虽然当前所有特定于浏览器的实现都源自RemoteWebDriver,但这不是必需的。你真正想要的是使用IWebDriver界面。

public IWebDriver _webdriver = null;

然后在您的工厂方法中执行以下操作:

switch (browser)
{
    case "IE":
        _webdriver = new InternetExplorerDriver();
        break;
    case "Firefox":
        _webdriver = new FirefoxDriver();
        break;
    case "Chrome":
        _webdriver = new ChromeDriver();
        break;
}
于 2013-08-13T21:28:32.693 回答
2

做这样的事情:

WebDriver _webDriver = null;
if (Browser == "Firefox")
    _webDriver = _firefoxDriver;
else if (URL == "Chrome")
    _webDriver = new ChromeDriver();
else if (URL == "IE")
    _webDriver = new InternetExplorerDriver();
于 2013-08-13T17:18:23.810 回答