【问题标题】:Running Selenide with Selenium Grid?使用 Selenium Grid 运行 Selenide?
【发布时间】:2019-06-27 20:52:02
【问题描述】:

在 Selenide 中,创建驱动程序很简单:

`open(Link);`

以及一些系统属性设置要使用的网络驱动程序和浏览器:

System.setProperty("webdriver.chrome.driver", "K:/chromedriver.exe");
System.setProperty("selenide.browser", "Chrome");

然而,在 Selenium 中,您必须声明驱动程序并设置功能。

如何在 Selenide 中配置我的测试用例以在 Selenium Grid 上并行运行?

有人有样品设置吗?

【问题讨论】:

    标签: selenium selenium-webdriver selenium-grid selenide


    【解决方案1】:

    要在 Selenium Grid 上运行测试,请使用 selenide.remote 系统属性。这样您就不需要手动管理 WebDriver。

    我使用 gradle 并为 test 任务添加此属性(如果它存在于环境变量中):

    test {
        useJUnitPlatform()
        def seleniumServerUrl = System.getenv("SELENIDE_REMOTE")
        if (seleniumServerUrl) {
            systemProperty("selenide.remote", seleniumServerUrl)
        }
    }
    

    或者您可以在命令行中添加一个属性:-Dselenide.remote=http://localhost:5678/wd/hub,如 https://selenide.org/faq.html 中所建议的那样

    【讨论】:

      【解决方案2】:

      你可以创建通用的 RemoteWebDriver,然后通过 WebDriverRunner.setWebDriver(driver) 告诉 Selenide 使用它;

      使用你自己的驱动后——Selenide 不会负责关闭它,所以现在是你的责任)

      String urlToRemoteWD = "http://some.url.to.remote/wd/hub";
      RemoteWebDriver driver =new RemoteWebDriver(new URL(urlToRemoteWD),DesiredCapabilities.firefox());
      WebDriverRunner.setWebDriver(driver);
      

      并关闭WebDriverRunner.closeWebDriver();

      【讨论】:

      • 好的,我试试看。如果我在每个测试用例中设置它,并设置我的 testng.xml 以并行运行测试,我还需要做些什么吗?
      • 我想就是这样,其他一切都应该照常运行。同样,如果您之前使用过纯 Selenide 创建的浏览器,请不要忘记关闭浏览器。并设置正确的浏览器功能 =)
      猜你喜欢
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      相关资源
      最近更新 更多