使用testngxml并行运行LeanFT测试

使用testngxml并行运行LeanFT测试,testng,leanft,Testng,Leanft,我试图在Chrome浏览器中使用TestNg XML并行运行LeanFT测试 它运行正常,但在同一浏览器中打开每个测试会话,导致登录和注销cookie出现问题 例如: 我使用parallel=“tests”thread count=“2”和 使用启动LeanFT中的浏览器 public Browser getbrowser() { Browser browser = null; browser = BrowserFactory.launch(BrowserType.CHROME);

我试图在Chrome浏览器中使用TestNg XML并行运行LeanFT测试

它运行正常,但在同一浏览器中打开每个测试会话,导致登录和注销cookie出现问题

例如:

我使用
parallel=“tests”thread count=“2”
和 使用启动LeanFT中的浏览器

public Browser getbrowser() {
  Browser browser = null;
  browser = BrowserFactory.launch(BrowserType.CHROME);
  browser.clearCache();
  return browser;
}
因此,每次我从TestNG XML并行运行测试时,所有测试都会在同一个浏览器中打开,导致cookie问题,正如我在
getbrowser()
方法中使用的
browser.clearCache()
一样

我想在每个线程打开Chrome窗口的新实例并在同一台机器上并行运行LeanFT测试


请分享是否有人在同一台机器上实现了LeanFT的并行执行。

当您使用
BrowserFactory.launch
,在幕后它有点像在运行

chrome关于:空白

从命令行。您可以尝试在命令行/终端中执行此操作,第一次将打开一个新窗口,但第二次、第三次等,这将意味着在打开的窗口中有一个新选项卡

这是特定于浏览器的行为。果然,firefox与命令行不同,难怪,
.launch
也会在leanft的firefox上打开一个新窗口

要在chrome中打开新窗口,需要一个
--newwindow
开关。LeanFT尚未为此做好准备,您必须自己运行该命令

chrome——新窗口www.google.com

我相信您知道如何从Java启动流程,但为了完整地回答这个问题,这里有以下几点。基本上:

processmyprocess=Runtime.getRuntime().exec(命令)

然后使用BrowserFactory.attach
,附加到打开的窗口

如果必须运行多个实例,则需要唯一地标识它们。尝试每次递增变量时打开新窗口,如:
https://www.google.com/search?q=dummy1

因此:

  • 窗口1

    要启动的进程:
    chrome--新窗口https://www.google.com/search?q=dummy1

    使用说明:

    BrowserFactory.attach(new BrowserDescription.Builder().title("dummy1 - Google Search").build());
    
    BrowserFactory.attach(new BrowserDescription.Builder().title("dummy2 - Google Search").build());
    
  • 窗口2

    要启动的进程:
    chrome--新窗口https://www.google.com/search?q=dummy2

    使用说明:

    BrowserFactory.attach(new BrowserDescription.Builder().title("dummy1 - Google Search").build());
    
    BrowserFactory.attach(new BrowserDescription.Builder().title("dummy2 - Google Search").build());
    

  • 请编辑您的问题并添加更多上下文。您的示例代码是什么样子的,您面临的错误是什么等等,不清楚您在问什么。