如何在docker firefox-standalone-debug容器而不是常规的firefox浏览器上运行webdriver测试

时间:2017-03-07 09:55:26

标签: selenium ubuntu docker jenkins webdriver

我的Linux Ubuntu 上安装了常规 Firefox 以及 docker-firefox-standalone-debug 容器。此外,我有 Xfvb ,我设置 DISPLAY 。现在,当我从Jenkins运行 Webdriver 测试时,一切正常,我的测试运行在常规 Firefox 上。但问题是我想在 docker-firefox-standalone-debug 容器上开始我的测试。任何人都可以告诉我如何强迫我对Jenkins的测试在docker上运行吗?默认情况下,它会从常规 Firefox 开始,我现在不知道如何告诉他你在 docker-firefox-debug < /强>

2 个答案:

答案 0 :(得分:3)

您需要使用远程网络驱动程序而不是常规WebDriver。

例如,如果您按如下方式运行您的conatiner:

List<string> someList = new List<string>{"a","B","c"};
someList.ToArray(); //string[] containing ["a","B","c"]

使用以下代码:

docker run -d -p 4444:4444 selenium/standalone-firefox-debug

而不是:

RemoteWebDriver driver = new RemoteWebDriver(
                    new URL("http://localhost:4444/wd/hub"),
                    DesiredCapabilities.firefox());

此致

答案 1 :(得分:0)

我跑:

  

docker run -d -p 32780:4444 -p 5999:5900 selenium / standalone-firefox-debug

所以当我输入

  

docker ps

我有

  

6b7fa91575ae selenium / standalone-firefox-debug&#34; / opt / bin / entry_point&#34; 8秒前Up 6秒0.0.0.0:32780->4444/tcp,.0.0.0:5999->5900/tcp

然后在我的代码中:

RemoteWebDriver driver = new RemoteWebDriver( 
                                new URL("http://192.168.99.100:32780/wd/hub"), 
                                DesiredCapabilities.firefox());

这有效:)