2014-02-20 42 views
0

我有一个配置和测试写入,当我通过Selenium网格(但没有工作)传递它们时不起作用。Selenium Grid + JUnit + Jenkins - 如何

  1. Selenium测试/ JUnit的/ Eclipse的
  2. 一个詹金斯作业克隆库和运行(在Linux詹金斯奴隶与FF)连接到
  3. 硒网格插件安装在詹金斯的测试,所有的节点枢纽。

问题1:我的测试套件中的Jenkins作业从一个slave开始。它是否正确?我是否应该从主人开始(我试过并得到其他问题,但是至少我会关注真正的问题,如果我知道什么是正确的方法)。

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

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

最后一个问题是关于我只有在使用网格时得到的错误(同样,我所有的测试都没有问题)。 org.openqa.selenium.WebDriverException:指定Firefox的二进制文件位置不存在或不是一个真正的文件:在/ usr/bin中/火狐

有过去的错误,我用Google搜索,并尝试了不少解决方案,没有任何运气。作为初学者,我现在怀疑我的配置。

谢谢你的时间。

回答

1

答案:

问题1

这不是不正确对从属运行。这是完全可以接受的。

问题2

只要你想,你可以初始化驱动程序。你可以把它放在一个@Before,一个构造函数,甚至是方法。这完全取决于最适合你的东西。

问题3

我不知道你是否能与Firefox做到这一点,但与chromedriver可以传递参数如下:--verbose --log-path=/tmp/chromedriver.log \$*

最后一个问题

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

而且,你有你的RemoteWebDriver初始化遮住,我看不出来,但要确保你有你的电网的网址,与/wd/hub末concat'ed。例如:http://selenium-grid:4444/wd/hub

+0

谢谢。我将首先与架构人员一起提出,以清除可执行文件路径。当我使用驱动程序= new FirefoxDriver(ffprofile)时,我的困惑就会引起注意:它发现驱动程序没有失败。 – user3333018