【问题标题】:how do i use selenium grid 2 with php webdriver?我如何将 selenium grid 2 与 php webdriver 一起使用?
【发布时间】:2012-02-23 06:16:13
【问题描述】:

我有一个 selenium grid2 集线器正在运行并连接了 2 个节点(节点 a 和节点 b)。我如何使用它们?如何一次在多个节点上运行测试?我觉得我错过了一些明显的东西。

如果尝试过:

phpunit 测试/phpunit/GUI/

有 2 个测试用例(RegTest、LoginTest)都执行(按顺序)但仅在一个节点上执行。 (节点a)第二个节点没有被触及一次。

我错过了什么?

节点 a (ubuntu) java -jar selenium-server-standalone-2.18.0.jar -role node -hub http://localhost:4444/grid/register 节点 b (xp) java -jar selenium-server-standalone-2.18.0.jar -role node -hub http://localhost:4444/grid/register

两个节点都安装了 firefox。我正在使用此调用连接到集线器:

$this->oWebDriver = new WebDriver( self::SELENIUM_SERVER, self::SELENIUM_SERVER_PORT);
$this->oWebDriver->connect('firefox');

这个 php 网络驱动程序:http://code.google.com/p/php-webdriver-bindings/

【问题讨论】:

    标签: php selenium grid webdriver


    【解决方案1】:

    所以我们在 2 周后。通过一些扩展阅读和更多的脑力,我能够自己弄清楚。

    您可以轻松地使用多个节点,一次启动多个 phpunit 测试。问题是 phpunit 测试(3.6)几乎一个接一个地运行。 您可以使用 ant(或类似工具)绕过此问题。正如你在这里看到的: http://jenkins-php.org/

    您可以使用<parallel threadCount="2"> 来启动并行任务,这可能是phpunit 测试。仍然有可能不是每个测试都适合并行运行(例如,如果您在 setUp 方法中将夹具加载到数据库中)

    除此之外,没有办法(至少我找不到)通过集线器处理特定节点(也许这不是集线器的意义),但您可以使用功能来处理特定平台或浏览器或浏览器版本

    如果集线器找不到任何适合您的功能的内容,它将返回错误,否则它将使用适合您描述的功能的浏览器之一

    这里的问题是platform是一个ENUM字段,你必须用它有限的值来描述你的noced(LINUX,MAX,VISTA,WINDOWS,XP)没有W7,WINDOWS非常贪婪。如果您有 2 个节点,一个带有 XP,一个带有 WINDOWS,并且您在 Capabilities 中设置了 WINDOWS,那么集线器可能会选择 XP(因为它是一个 WINDOWS 平台),因此请注意这一点。

    .. 我想这就是我两周前所要求的(-;

    【讨论】:

      猜你喜欢
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      • 2013-06-15
      相关资源
      最近更新 更多