【问题标题】:Selenium Grid + JUnit + Jenkins -- How toSelenium Grid + JUnit + Jenkins -- 如何
【发布时间】:2014-02-20 14:11:08
【问题描述】:

我编写的配置和测试在我通过 Selenium 网格时不起作用(但不使用)。

  1. Selenium 测试/JUnit/Eclipse
  2. 一个克隆存储库并运行测试的 Jenkins 作业
  3. 安装在 Jenkins 上的 Selenium Grid 插件,以及连接到集线器的所有节点(Linux 上的 Jenkins 从站)。

问题 1:我的测试套件的 Jenkins 作业从一个奴隶开始。它是否正确?我应该从 master 上开始吗(我尝试过并遇到了其他问题,但如果我知道正确的方法,至少我会专注于真正的问题)。

问题 2。我在@Before 测试中初始化驱动程序。它是否正确? driver = new RemoteWebDriver(new URL("http://......"), DesiredCapabilities.firefox()); 这是我在不使用网格时初始化 Firefox 驱动程序的地方,它正在工作。

问题 3。我如何告诉 Selenium 网格为我提供一些日志。平心而论,我不知道我的测试是否会尝试访问中心。

最后一个问题是关于我只有在使用网格时才会得到的错误(同样,我所有的测试都可以在没有网格的情况下正常工作)。 org.openqa.selenium.WebDriverException:指定的firefox二进制位置不存在或不是真实文件:/usr/bin/firefox

对于我用谷歌搜索并尝试过的最后一个错误,有很多解决方案,但没有任何运气。作为初学者,我现在怀疑我的配置。

感谢您的宝贵时间。

【问题讨论】:

    标签: selenium jenkins grid


    【解决方案1】:

    答案:

    问题 1

    在从属设备上运行它并不是不正确。这是完全可以接受的。

    问题 2

    您可以在任何地方初始化驱动程序。您可以将其放入@Before、构造函数甚至方法中。这完全取决于什么最适合您。

    问题 3

    我不确定您是否可以使用 Firefox 执行此操作,但使用 chromedriver 您可以传递如下参数:--verbose --log-path=/tmp/chromedriver.log \$*

    最后一个问题

    我会先问你一个问题来回答这个问题。您的网格和节点与您的詹金斯服务器是不同的服务器吗?如果是这样,那么这很可能意味着您需要确保您的 firefox 可执行文件位于/usr/bin/firefox 下。如果是,请确保它们是可执行的!例如:sudo chmod u+x /usr/bin/firefox

    另外,您的 RemoteWebDriver 初始化被屏蔽了,所以我看不到,但请确保您有 grid 的 url,并在末尾添加了 /wd/hub。例如:http://selenium-grid:4444/wd/hub

    【讨论】:

    • 谢谢。我将首先与架构人员一起提出它,以清除可执行路径。我的困惑源于这样一个事实,当我使用 driver = new FirefoxDriver(ffprofile);它会成功找到驱动程序。
    猜你喜欢
    • 1970-01-01
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多