【问题标题】:what is the easiest setup for Selenium 2 + Selenium Grid2?Selenium 2 + Selenium Grid2 最简单的设置是什么?
【发布时间】:2012-05-18 22:44:29
【问题描述】:

我浏览了一大堆文档,但我的脑袋还在游动。我正在尝试设置 Selenium 2 和 Selenium Grid2。我可以编写测试并在本地运行它们就好了,但这是我需要解决的要求。

  1. 能够在本地机器上编写测试并将它们发送到某个地方进行远程测试。
  2. 跨多个浏览器并行运行测试(Windows 是唯一要求)。

我可以为遥控器使用额外的机器,我应该如何开始?除了 Selenium 2 和 Selenium grid2 我还需要什么其他元素?我错过了什么应该盯着我的脸吗?

提前致谢。

【问题讨论】:

    标签: selenium selenium-webdriver qa selenium-grid


    【解决方案1】:

    如果您只想像在本地机器上一样运行测试,但远程运行

    • 您只需更改代码即可使用 RemoteWebDriver。这将在远程机器上执行测试。

    如果你想在 selenium 网格中并行运行多个测试

    • 您应该使用一个可以执行多个方法的框架 并行(testNG 和 JUnit 是最流行的)。你可以找到 testng 站点中有关 testNG selenium 集成的详细信息 (http://testng.org)

    对于上述两种配置,您都必须设置网格环境。既然你说你有两台机器,一台可以充当集线器,另一台可以充当RC。如果它有足够的计算能力,你也可以在同一台机器上启动一个 RC 和集线器。

    如果您想在 google chrome 浏览器中运行测试,您应该在 RC 机器中安装 chromedriver.exe。你应该在 RC 机器中有 chromedriver 路径。

    根据我的经验,并行测试执行中最困难的部分是找出如何并行触发多个测试。您应该并行触发所有这些测试,并将所有这些测试指向同一个集线器。如果你能做到这一点,硒网格将负责执行部分。您可以找到更多详细信息here

    【讨论】:

    • JUnit 并行运行测试的一种可能性:JUnitCore.runClasses(ParallelComputer.methods(), First.class, Second.class, Third.class);
    • 您使用的是 Grid 1.0 还是 Grid 2.0 都没有关系。概念保持不变
    • @Slanec - 互联网上有没有这样的例子?
    • @djangofan 我想我的例子再清楚不过了,但是:stackoverflow.com/questions/5529087/…
    • 运行并行恕我直言的最佳方法不是使用 TestNG 或 ParallelComputer,而是使用 Maven、Ant 或 Gradle 的 fork 功能进行单元测试。
    【解决方案2】:

    我喜欢将Grid 与 RemoteWebDriver 结合使用。但我使用Maven/Surefire 并行运行测试。此设置运行良好且流畅。

    【讨论】:

    • 你为 maven 编写的测试是什么?你有示例文件吗?
    • Maven/Surefire 页面上有一个示例
    • 当 TestNG 可以进行并行和参数化的 DataProvider 测试时,为什么要这样做?添加 Maven 对于相同的结果只是额外的复杂性,恕我直言。
    • 那不是关于 DataProviders...Maven 拆分包,DataProvider 拆分类
    • @djangofan:是的,但这需要一点额外的努力。我使用 TestNG 来定义和运行测试,使用 Maven 来管理库依赖项(使得升级或降级 Selenium 版本等变得非常容易)。有了这些,添加配置细节以使surefire或failsafe插件调用TestNG套件相对容易。
    猜你喜欢
    • 2013-12-04
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多