seb*_*ner 21 testing selenium selenium-chromedriver
我想同时运行多个Selenium测试(在Jenkins服务器上).
它目前只运行一次测试,因为ChromeDriver似乎通过特殊端口进行通信.所以不知怎的,我想我必须通过Selenium将某种端口设置传递给ChromeDriver来启动多个测试.
不幸的是,Selenium网站对于该主题是空的:http: //docs.seleniumhq.org/docs/04_webdriver_advanced.jsp#parallelizing-your-test-runs
从我的观点来看,如果测试在本地运行或在Jenkins上运行没有区别,问题是相同的.我们需要以某种方式配置ChromeDriver.问题是如何.
任何人都有一些想法或指示在哪里查看以及涉及哪些文件来完成这项工作?
Ard*_*sco 19
您可以非常轻松地在本地运行多个chromedriver实例,只需实例化多个驱动程序对象,chromedriver将保持配置文件分离并找到一个可以自行运行的端口.
这里有一个链接,可以使用TestNG和Maven运行多个测试:
https://github.com/Ardesco/Selenium-Maven-Template
只需克隆上面的项目并在命令行中运行以下命令:
mvn verify -Pselenium-tests -Dbrowser=chrome -Dthreads=2
Run Code Online (Sandbox Code Playgroud)
它利用了TestNG管理线程池的能力,并且如果指定的话将打开多个实例.您可以使用jUnit执行相同的操作,但是您需要编写一个自定义测试运行器来将测试发送到单个线程中.
如果您决定使用gradle,它可以使用TestNG和jUnit处理为您管理线程池,并且很多人更喜欢使用它.
小智 9
这是一个老问题,但对于仍在阅读的人来说,很有可能在不使用Grid的情况下并行运行多个Selenium WebDriver实例.我已经使用Chrome,FireFox和PhantomJs(最多5个)成功测试了这个.每个WebDriver实例都使用隔离的上下文,因此会话冲突不应成为问题.但要注意服务器端冲突,具体取决于您网站的要求!
对于NUnit用户,NUnit 3.2.1现在具有"TestContext.Current.WorkerId"属性,允许您为每个NUnit工作者隔离一个WebDriver实例.
您正在寻找的是Selenium Grid 2.
Grid允许您:
| 归档时间: |
|
| 查看次数: |
52343 次 |
| 最近记录: |