![](/img/trans.png)
[英]How to run single test case in multiple instances of browser parallelly without selenium grid
[英]Selenium Run multiple browser instances parallely
if (platform != null) {
for (final String p : platform) {
log.info("Platform " + p);
executorService.submit(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
runService(p, config, url, title, report);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
executorService.shutdown();
executorService.awaitTermination(Long.MAX_VALUE,
TimeUnit.NANOSECONDS);
// for(final String p: platform){
// runUIService(p, config, url, title, report);
// }
}
public void runService(){
WebDriver driver = getDriver();
//some selenium operations performed
}
我試圖在多個線程中並行執行runService()。 getDriver()方法返回Selenium WebDriver的新實例。 如果我在單個平台上執行所有硒操作,則成功運行,但是,盡管為每個平台打開了新的瀏覽器實例,但在多個平台上觸發了相同的代碼,則硒元素上將出現很多錯誤。 我不知道這可能是什么原因? 通過selenium同時運行多個瀏覽器實例是否存在問題?
我認為這是一個並發問題。 您是否嘗試過對方法使用synced關鍵字? 即公共同步void runService()
或在您的getDriver()方法中。
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.