【问题标题】:How to Initialize a C# Selenium webdriver test to pass in different browser types?如何初始化 C# Selenium webdriver 测试以通过不同的浏览器类型?
【发布时间】:2013-08-14 05:28:32
【问题描述】:

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

【问题讨论】:

    标签: c# .net unit-testing selenium selenium-webdriver


    【解决方案1】:

    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;
    }
    

    【讨论】:

      【解决方案2】:

      做这样的事情:

      WebDriver _webDriver = null;
      if (Browser == "Firefox")
          _webDriver = _firefoxDriver;
      else if (URL == "Chrome")
          _webDriver = new ChromeDriver();
      else if (URL == "IE")
          _webDriver = new InternetExplorerDriver();
      

      【讨论】:

      • +1。 @George,您可能是指检查浏览器的每一行,而不是 URL,我建议将其更改为 switch 语句。
      • 使用 OpenQA.Selenium.Remote;私有远程WebDriver _webDriver;工作。
      猜你喜欢
      • 2018-10-06
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 2019-03-01
      相关资源
      最近更新 更多