我一个类有5到6个方法,想在不同的节点上并行运行方法,我有网格2设置,里面有4个节点。
下面是我的测试。xml
<suite name="Test" parallel="methods" thread-count="2">
<test name="Test1">
<classes>
<class name="test.LoginTest"/>
</classes>
</test>
</suite>
我有一个测试工具,它初始化了login、common和utils类
Public class TestHarness{
public WebDriver driver = null;
public DesiredCapabilities cap = null;
public Login login;
public Common common;
public void initilize(){
cap = DesiredCapabilities.firefox();
cap.setBrowserName("firefox");
cap.setPlatform(Platform.ANY);
driver = new RemoteWebDriver(new URL(CONFIG.getProperty("hub")),cap);
common = new Common(driver);
login = new Login(driver);
utils = new Utils(driver);
}
}
在我的测试类中,我扩展了测试工具,在@Beforemethod中,我调用了inilze方法
public class LoginTest extends TestHarness{
@BeforeMethod
public void startTest() {
initilize();
login.loginAsAdmin();
}
@Test
public void testLoginWithCorrectPassword(){
common.goToAdminSettings();
}
@Test
public void testLoginwithInCorrectPassword(){
utils.getMessage();
}
}
如果我运行测试,我会看到以下问题
两个浏览器在每个节点中打开一个,但只有一个浏览器启动应用程序,另一个不启动。
如果我遗漏了什么,请告诉我?
谢谢你
即使驱动程序是非静态的,它也在测试方法之间共享,因为它们是从同一个类实例调用的
让我们把测试方法分为不同的类
a) 将@BeforeMethod移动到TestHarness类
b) 创造
public class LoginTest2 exteds TestHarness
然后把第二个@Test method移到那里
c) 修改套件:
<suite name="Test" parallel="classes" thread-count="2">
<test name="Test1">
<classes>
<class name="test.LoginTest"/>
<class name="test.LoginTest2"/>
</classes>
</test>
如果这有帮助,最终解决方案可以如下所示:
使用testng并行执行webdriver
1)你确定你运行的是正确的测试类吗?
<class name="test.LoginTest"/>
您的测试在:
public class Testing123 extends TestHarness{
2) 您的代码不显示驱动程序声明。确保此字段不是静态的
3) 此外,请检查网格的实际配置:http://localhost:4444/grid/admin/AllNodes
4) 将测试配置中的线程数提高到4。
我使用testNg用于使用java的自动化,我使用从excel获取数据并作为参数传递给测试脚本。 假设我在中有10行数据,我的测试用例将按顺序执行10次,但现在我想并行运行这10个测试,同时使用线程。 这能做到吗?如果是的话,有人能给我一个同样的例子吗?
我正在将并行执行引入我的testNG套件中。当我将“parallel”设置为“tests”时,两个浏览器打开,两个测试的第一个类同时开始--这是我所期望的。当我将其设置为“classes”时,我希望第一个测试中的两个类同时开始,但是只有一个浏览器打开,第一个类中的第一个方法执行,然后用第二个类中的第一个方法打开一个新的浏览器,依此类推。谁能告诉我我做错了什么? 下面是我的xml文件:
在对如何并行运行Cucumber测试用例做了大量的研究之后,我发现了下面这篇非常有用的文章: https://www.opencredo.com/2013/07/02/running-cucumber-jvm-tests-in-parallel/ 这篇文章提供了一些很好的信息,可以帮助您开始使用多线程环境,包括一些可以从Github下载的代码。 https://github.com/tristan
问题内容: 在对如何并行运行Cucumber测试用例进行了大量研究之后,我发现以下有关该主题的非常有用的文章: https://www.opencredo.com/2013/07/02/running-cucumber-jvm-tests-in- parallel/ 本文提供了一些很好的信息,可帮助您开始使用多线程环境,其中包括一些可以从Github下载的代码。 https://github.co
问题内容: 我有一些正在使用Jenkins运行的自动化测试。 我已经将Jenkins连接到我的GitSwarm,它从我的分支中提取代码, 然后将其执行。 我已经为Jenkins安装了“并行测试作业执行插件”。 在插件中,我指定了要分三批运行的测试 屏幕截图 还有什么我应该指定的吗?我认为我不必这样做,因为 我已经连接到GitSwarm来运行代码。控制台输出似乎 另有说明! 在工作空间C:\ Jen
类TestParallel.FirstTestClass线程ID:22名称:TestNG 类TestParallel.SecondTestClass线程ID:23名称:TestNG 类TestParallel.TestSetup线程ID:23名称:TestNG java.lang.NullPoInterException位于TestParallel.TestSetup.OnTestFailure(