Skip to main content
 首页 » 编程设计

c#之如何初始化 C# Selenium webdriver 测试以通过不同的浏览器类型

2024年02月01日26exmyth

我想将要使用的浏览器(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; 
}