如何使用 java 绑定并行化 selenium webdriver 的实例?

Posted

技术标签:

【中文标题】如何使用 java 绑定并行化 selenium webdriver 的实例?【英文标题】:How to parallelize instances of selenium webdriver with java bindings? 【发布时间】:2014-10-24 23:11:13 【问题描述】:

我得到了这个 for 循环,它会删除一大串网址:

//Before

public void testScrapjv() throws Exception 

    List<String> urlList = BIG_LIST_OF_URLS

        for (String url : urlList) 

            driver.get(url);

            //scraping code


我正在寻找一种方法来并行化这个 for 循环,以加快访问和从列表中抓取每个网站的过程。

我可以将列表拆分为 4 个,然后手动运行 4 个程序实例,但我不喜欢手动执行操作的想法。是否有人知道如何优雅地做到这一点,解决方案当然可以涉及 shell 脚本(我在该领域没有技能),但在 java 代码中做会更好。

我读到我可以使用 selenium-grid,但我不知道它是什么,并且网站似乎无法正常工作 (http://selenium-grid.seleniumhq.org/),也许有人会有一些提示。

【问题讨论】:

查看一些框架。 TestNG 可以轻松做到。 【参考方案1】:

urlList 拆分为 no。您想要的实例数(这必须手动完成,因为 url 存储在一个列表中)

并使用TestNG框架并行运行。

parallel='tests' 这将并行运行您的实例。

【讨论】:

以上是关于如何使用 java 绑定并行化 selenium webdriver 的实例?的主要内容,如果未能解决你的问题,请参考以下文章

多个线程(并行测试用例)如何在 Java(Selenium)设置中使用 Apache POI 同时访问同一个 excel 文件?

多个线程(并行测试用例)如何使用Java(Selenium)设置中的Apache POI同时访问同一个excel文件?

如何在 3 个不同浏览器中的同一台电脑上并行运行 selenium html 套件?

使用selenium在java中使用testng进行并行测试

使用 selenium TestNG 和 selenium 进行并行测试

同时使用 browsermob