为什么TestNG在Parralel中随机执行我的测试
此问题以前是随机发生的,我的测试会突然同时执行,例如:
TestA应该执行并完成,然后TestB
突然,两个测试同时执行
如果您知道为什么这种情况会随机发生,那么TestNG文件就没有问题了
删除POM.xml文件,然后添加相同的POM.xml文件似乎解决了我的问题这是由POM.xml引起的
在执行新测试之前清理项目。想象一下它正在清除缓存。iv已尝试线程。计数为1蚀刻如何调用这些测试?使用maven?如果您无法轻松重现问题,则很难为您提
标签: Testng
testng-dataprovider
我有一组测试,总共需要很长时间才能执行。我想通过将所有数据提供程序更改为只返回一组参数来缩短一些测试运行
我已经阅读了TestNG文档和javadoc,但似乎没有类似于IDataProviderListener的内容。IMethodInterceptor可能适用于未设置依赖项的测试,但这是一个不完整的解决方案
我也知道可能有其他方法来减少测试时间,但我的选择有限,因为我的测试夹具是物理的、缓慢的和昂贵的(所以并行化是不可用的)
作为一个具体的例子,假设我有3个测试:TestA、TestB、Tes
标签: Testng
testng.xmltestng-annotation-test
如果我的类和xml如下所示:
class Test
{
@Test
public void method1() {}
@Test (dependsOn = "method1")
public void method2() {}
@Test (dependsOn = "method2")
public void method3() {}
@Test (dependsOn = "method1")
public void otherMethod(
标签: Testng
junit5testng-dataproviderjunit-jupiter
我尝试将使用TestNG的单元测试迁移到JUnit Jupiter(JUnit 5),我想知道哪种方法是最好的:
TestNG:
@DataProvider
公共对象[][]无效端口号(){
返回新对象[][]{
{--http“,”},
{--http“,“-42”},
{--http,“0”},
{--http”,“非端口号”},
{--https,“67000”}
};
}
@测试(dataProvider=“invalidPortNumbers”,
expectedExceptions=
标签: Testng
maven-surefire-plugin
构建运行时,将显示41个测试:
但在Aws的surefire报告中,测试计数为82(每个测试出现两次):
我使用的是testng 7.3.0,surefire版本3.0.0-M5(maven repository上目前的最新版本)
编辑:
在target->surefire reports->junitreports文件夹中,我看到每个类两次,
就像这样:“TEST LoginTests.xml”
曾经是这样:“testsanity.LoginTests.xml”。
理智是一个包裹
pom:
TestNG无法在第一级之后根据dependsOnMethods进行挖掘。
TestNG版本:6.11
testNg的DependsOn方法工作不正常
@Test
public void test1(){
System.out.println("test1");
}
我需要在两台android设备上以分布式模式执行测试套件。我正在使用appium和testng。你们中的任何一个人都可以这样做吗?这里有一个非常好的设置,可以在项目中使用:
例如,您使用Maven构建,然后向项目添加依赖项:
<dependency>
<groupId>com.github.saikrishna321</groupId>
<artifactId>AppiumTestDistribution</artifactId>
如果数据提供程序向测试方法提供了一些异常数据,我想将@Testenable=false设置为false。例如
我的测试方法签名是这样的
因此,如果record.containsUpload,则执行enabled='false'。
我不想在测试方法中嵌入这种逻辑。我想使用注释转换。这是转换方法的签名
public void transform(ITest annotation, Class testClass,
Constructor testC
您能告诉我如何使用testng识别套件执行中失败的测试用例列表吗。我需要自动重新运行失败的测试用例
提前谢谢 作为执行的一部分,testng生成一个名为testng-failed.xml的文件,其中包含失败方法的所有详细信息。如果您只是想重新运行失败的测试,那么可以在maven项目中找到该文件,它位于目标文件夹下
您可以执行以下操作,我假设您使用的是maven:
通过Maven属性接受surefire插件中的套件名称。
修改surefire插件以引用maven属性作为套件名称。
创建执行以下操作
我在TC中生成探查器报告(使用TestNG)时遇到问题
正如在selenide.org页面上所写的那样,我添加了以下内容:
@Listeners(TextReport.class)
@Report
public class GoogleTest {
...
}
测试正在正确运行,但我没有看到探查器报告
你知道吗,我如何修复它并查看报告?你的类路径中应该有slf4j
将testCompile'org.slf4j:slf4j simple:1.7.30'添加到gradle.build中
或者
在我的项目中,我需要解析surefire插件生成的默认xml报告(testng results.xml)。为此,我需要从xml报告中识别测试方法
通过分析,我发现对于非测试方法存在一个“is-config”属性。有谁能帮我一下,这个属性是什么意思吗?带@BeforeXX和@AfterXX注释的方法被视为配置方法,因为它们可以用于在实际测试开始之前配置环境。
因此,我相信对于结果xml中的这些方法,is config设置为true,而对于理想情况下包含测试的测试方法,则不会设置此参数。这是针对配置
我有一个现有的TestNG测试用例。我想通过在多个线程中并行运行测试用例来进行压力测试。一种方法是将@Test注释更改为
@Test(invocationCount = 100, threadPoolSize=10)
但我不想编辑原件(我想把它作为一个功能测试)。我更愿意在XML测试套件定义中设置调用计数
作为一种解决方法,我创建了一个具有高调用计数的新测试,在该测试中只调用旧测试。这个解决方案可以工作,但感觉像是一个黑客。您可以在运行时使用修改@Test注释。作为一种解决方法,我创建了一个具
我想在testng测试中禁用状态共享。我想在每次调用testmethod时重新创建私有测试字段,就像在JUnit框架中一样。可能吗?或者我需要使用@BeforeMethods仔细地运行测试,它为每个方法重新初始化了测试类成员
p.S.另外,我想知道在tesng中@Before注释的目的是什么?如果我写这样的东西:
public class Test {
TestedObject object;
@BeforeTest
public void setUp(){
我想知道是否有一种拥有不同配置方法的方法(比如在类级别,@Before/AfterClass)可以让用户选择在testcase中使用哪个配置方法。
例如:
@BeforeClass
public void configuration1 () {
// Do your configuration1
}
@BeforeClass
public void configuration2 () {
// Do your configuration2
}
我希望能够选择使用哪种配置方法。当然
我试图在TestNG中使用组功能,并尝试自动化应用程序
我写了3个测试
包com.sonata.testng
import org.openqa.selenium.By;
//import org.openqa.selenium.WebElement;
//import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.Select;
import org.testng.annotati
标签: Testng
testng-dataprovider
有人能告诉我如何在TestNG(套件)启动时获得(预期的)所有测试/方法执行计数吗
您可以很容易地获得所有测试方法的数量,但这不会将每个测试方法乘以数据提供程序大小的数量(每个方法将被计数一次,即使一个方法通过数据提供程序执行100次)
除非有一个明显的解决方案,比如一个简单的API调用,否则关键似乎是从@Test注释中给出的数据提供者名称中找出数据提供者方法,我在这里问:
一旦知道数据提供程序方法是什么,就可以执行数据提供程序,并计算数据集的数量。这似乎不是很有效,但我们正在运行的测试不是单
标签: Testng
hibernate-validator
我正在测试特定字符串的hibernate大小约束,我希望在一个单元测试方法中检查所有返回代码,而不必使用单独的函数来测试每个大小约束错误返回。
因此,我的java类中有一些字符串如下所示:
@Size(max = 10, message = "String a is too big")
private String a;
@Size(max = 20, message = "String b is too big")
private String b;
在我的测试课上,我目前正在这样测试它们
我试图用TestNG套件运行我的测试,当我有前两个类时,它工作得很好,但当我添加第三个类“HomePageTest”时,它给了我
NoSuchSessionException:会话ID为空。之后使用WebDriver
调用quity()
如果我单独运行这个测试,它可以正常工作,没有任何错误
我在这里添加了我的类和testng.xml文件
loginTest (Test#1)
package com.newtours.qa.testCases;
import org.testng.Assert
我在TestNG中尝试了一些硬断言和软断言的例子。虽然软断言按预期工作,但我面临硬断言的问题
根据我从互联网上读到的信息,如果硬断言失败,它不会执行其他测试
从下面的代码中,应跳过-printTest3()测试,因为ffPageElementsTestHardAssert()失败。有人能帮我理解这种行为吗谢谢
@BeforeTest
public void beforeTest() {
DOMConfigurator.configure("log4j.xml");
我正在使用EasyMock 3+
我正在测试一个方法,例如processMessage(),它(将)满足我的测试,但在方法的最后,该方法还调用同一类的另一个方法dispatchMessage(String msg)。后一种方法接受@EJB注入对象,我在本测试中并不关心这个对象。当然-此对象会导致NullPointerException
我如何用Easymock模拟这个方法来忽略它的代码并返回void呢。i、 e
void dispatchMessage(String msg){
ret
标签: Testng
testng-dataprovider
我正在尝试与数据提供者并行执行testng测试。数据提供者的每个输入都将是一个新的测试。
对于并行执行,我添加了属性parallel to data provider&threadPoolSize来测试。
我正在eclipse运行配置-并行方法-dataproviderthreadcount 2中传递命令行参数
下面是迄今为止尝试的代码片段
public class DemoTest {
@Test(dataProvider = "dp",invocationCount=1,thre
标签: Testng
testng-dataprovidercitrus-framework
我正在评估citrusframework以执行大量测试用例,其中许多将使用数据提供程序功能使用不同的测试数据集运行。如果测试用例是按顺序执行的(没有并行),那么总的执行时间将是巨大的,并且是不可接受的
为了减少总的测试时间,我正在评估使用maven参数和方法的threadPoolSize注释并行运行测试用例的选项
然而,初始评估表明,在并行执行的情况下,传递给方法的TestContext在执行相同测试方法的多个并发运行线程中共享。同样在使用数据提供程序执行测试用例的情况下,为给定测试方法的所有运
无法在eclipse中安装testNG-获取错误状态找不到URL的https://dl.bintray.com/testng-team/testng-eclipse-release/"
似乎url给出了404
我尝试了不同的URL,从testng doc开始,您尝试了哪些步骤
Select Help / Install New Software...
Enter the update site URL in "Work with:" field:
Update sit
如果断言失败,如何在TestNG中继续执行测试?如何在TestNG的HTML报告中报告失败
运行以下代码时,将执行断言后的行,但在报告中未列出断言失败:
@Test
public void googleSearch(){
driver.get("http://www.google.co.in/");
System.out.println(" ---------- Start -------------");
try {
Assert.assertTrue
我的测试启动由testng.xml中指定的一些测试套件组成。在html报告中,我看到测试套件日志的顺序与它们实际运行的顺序不正确,我指定在xmls中运行它们
你知道怎么修吗
提前谢谢
更新(致Antonio):
很抱歉,我的样品是俄文的
我在Reporting html测试报告中看到以下内容:
与实际测试运行顺序(以及testng xml测试套件)相比,它的顺序完全不正确:
每个测试套件的测试报告以正确的顺序显示
实际上,我通过Jenkins的Maven任务启动了我的测试套件。我需要在这里
我在testng.xml套件中有一个要求,如下所示
下面的代码显示了当前xml文件的显示方式
<suite> <test1> < class/> </test1> <test2> <class1/> <class2/> <class3/> </test2> </suite>
如果测试1失败,我需要跳过测试2。但这里的限制是,我不能编辑测试2下的类来指定任何类型的注释,因此
我正在尝试使用testng的IMethodSelector选择要运行的测试。我成功地选择了测试,但在运行测试时,@Beforemethod@BeforeSuite未被执行。这是我使用IMethodSelector的xml
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="methodsuite">
<test name="test1" preserve-order="t
请让我知道如何通过命令行运行testng
当我运行以下命令时
java org.testng.TestNG TestNG.xml
获取错误如下所示
Error: Could not find or load main class org.testng.TestNG
这意味着在运行测试之前我们必须编译吗?请在系统的类路径中添加TestNG Jar的完整路径,然后它就可以工作了。像这样:
C:\ProgramData\Oracle\Java\javapath;%SystemRoot%\s
我正在使用ReportNg为TestNg测试生成报告。我使用pom.xml中的org.uncommons.reportng.title生成报告标题。但除了标题之外,我还想添加环境细节,比如URl、操作系统等。如何在报告中做到这一点。
我已经能够通过一个实现IReporter的定制报告程序来实现这一点,但需要通过报告来实现这一点。
有人能告诉我怎么做吗???ReportNG目前不支持任何这样的定制。要实现这一点,您必须对报告本身进行更改(子类HTMLReporter并修改Velocity模板)。我
我正在尝试从一个整体套件文件运行多个套件。我定义了需要运行的套件,并运行“主”套件文件。我使用preserve order按顺序运行每个套件,但其行为与我预期的不同。它似乎一个接一个地、几乎平行地将它们分开
有人知道我如何执行这些套件,保持顺序,最好等到第一个套件完成,然后再运行第二个套件吗
我的套件设置如下所示:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="My test s
我一直在玩TestNG,遇到了一些我无法理解的行为,@BeforeGroups(inheritGroups=true)似乎不起作用。其中,@BeforeSuite(inheritGroups=true)、@BeforeTest(inheritGroups=true)、@BeforeClass(inheritGroups=true)和@beforethod(inheritGroups=true)的工作方式与文档中所述相同
在下面的代码片段中,我显式地为各种@Before*执行(inheritGro
我已经使用testng在selenium中创建了testscript,并如下所示配置了我的testng.xml,但我收到这样的错误消息“元素类型“类”的内容必须匹配”(类*,参数*)”。如果有人有解决方案,请告诉我。谢谢。弹出窗口隐藏了附件图像中的大部分内容,很难理解内容。还有几句话:
下面的简单testng.xml提到了以下内容:
套件名称=“DemoXMLfileCreation”
测试名称=“demoxml”
类(要执行)=“XMLdemo”和“XMLdemo1”&这两个.java文件都在
标签: Testng
testng-dataprovider
上述testng XML只是将“testMethod”作为一个整体排除在外。但是,如果我将“exclude”替换为“include”,它将只正确地运行数据提供程序的第5次迭代作为测试数据。对于include,当我放置exclude时,testng应该运行“testMethod”的所有迭代,不包括数据提供程序的第5次迭代。但它只是将该方法作为一个整体排除在外。为什么会这样?要实现我的期望,应该采取哪些变通方法?好的,您不能通过testng.xml文件来实现这一点
在不知道数据集大小的情况下,很容易
运行时:-
java -cp C:\Air-Automatic-Testing-MVN\smokeTest\bin;C:\Air-Automatic-Testing-MVN\smokeTest\lib\* org.testng.TestNG testng.xml
我得到一个错误:-
[TestNG][错误]
在类路径中找不到类:smokeTest.AppTest
我很确定我遗漏了一些东西,因为我没有bin目录。我创建了lib目录,但我不知道是什么创建了bin。mytesting.xml在ecl
我正在从TestNGtest类调用某些助手方法来调用API端点并检索响应。并验证响应对象。下面是我的TestNGtest类的一个示例
在下面的类中,我将初始化helper对象和声明。这是一种好的做法吗?或者我应该在constructor或@BeforeClass方法中初始化
公共类GetPaymentDetailsTests扩展了TestBase{
字符串authToken=Partner.get(使用scope.CHECKOUT\u USER\u GROUP.getBasicToken();
我想使用@AfterMethod检查TestNG中的软断言。我想这样做:
SoftAssert sa;
@BeforeMethod(alwaysRun=true)
public void beforeMethod() {
sa = new SoftAssert();
}
@Test
public void test1() {
sa.assertTrue(false);
}
@Test
public void test2() {
sa.assertTrue(false
我使用的是TestNG-TestNG-6.14.3.jar,我下载了它并将其放在TestNG.xml所在的test文件夹中
当我发出命令时
java -cp "/c/Project/Test/Dependency/testng-6.14.3.jar" org.testng.TestNG testng.xml
它给出了错误:
Picked up JAVA_TOOL_OPTIONS: -Djava.vendor="New Oracle"
Error: Unable to initialize ma
我无法在TestNG框架下执行代码。我已经在Eclipse中的scope下添加了依赖项并编写了TestNG。请让我知道如何显示TestNG。我可以使用JUnit执行,但不能使用TestNG
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache
在运行Selenium Grid时,我遇到以下异常:
org.testng.TestNGException:
Parameter 'selenium.host' is required by @Configuration on method startServer
but has not been marked @Optional or defined in D:\workspace\ALM05_PA\config\gridSuite.xml
at org.testng.interna
标签: Testng
testng-dataprovider
情况:我有两个测试a()和b()。使用“dependsOnMethods”参数使b()依赖于a()。我有两个测试的不同数据集。有没有办法确保在执行测试时保持数据的顺序
示例:
@DataProvider(name = "test1")
public Object[][] createData1() {
return new Object[][] {
{ "Google" },
{ "Microsoft"},
};
}
@DataProvider
我有在运行时生成的数据,我想在实现IReporter的CustomReporter类中访问这些数据。一个人怎么做呢
目前,当我的测试失败时,我会将数据添加到ITestResult.setParameters()对象/方法中,但有人说不要这样做,因为没有记录是否要修改Parameters()对象。相反,我应该创建并填充一个可以从IReporter()访问的对象,但我不知道怎么做。我找到了它,我将需要的所有数据存储在ITestContext.setAttribute()中,并通过.getAttrib
标签: Testng
testng-dataprovider
当使用新的测试数据而不是来自数据提供者的原始数据重试失败的测试时,我遇到了一个问题。如果我错过了适当的现有主题,请随时为我指出正确的方向
我发现,在测试方法失败的情况下,数据提供者方法也在重试。如何仅使用原始测试数据重新运行测试方法
提前感谢你的帮助
以下是我的代码的一些部分:
测试等级:
@Listeners({RetryTestListener.class})
public class MyClassTest extends FunctionalTest {
private boolean
我已经用7.0.0版测试过TestNG(也用6.14.3版测试过),希望用特定的组运行测试,比如说Sanity,因此TestNG.xml类似于-
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1" >
<test name="Sanity Tests">
<groups>
我想生成HTML testNG报告。默认情况下,在运行testNG之后,我们有一个名为“emailable reports”的报告文件。但现在我想创建自己的HTML报告。我试着使用ITestListener和ITestReport,但即使我重写了这些方法,它也没有做任何事情。我不知道如何以及在哪里使用这些方法。我有两个测试用例。所以现在我必须把代码放在生成报告的地方…根据,接口的实现是为实时报告而设计的,而接口的实现是为了在套件运行完成后生成报告
实现IReporter实例和generateRe
如果满足某个条件,如何以编程方式退出整个测试套件
我正在检查@AfterMethod中的条件,并使用fail()方法使AfterMethod注释失败。但是AfterMethod注释的执行次数与我的测试套件中的测试次数相同。但是,将跳过这些测试
有办法做到这一点吗
谢谢,
约翰正是我的想法
如果您的条件满足,请在afterMethod注释方法中调用afterClass注释方法,并在afterClass中停止java进程
public class NewTest {
@BeforeClas
是否可以从@AfterClass方法更改测试结果的状态。
我的要求是使用@test标记运行一些UI测试,我需要在@AfterClass方法中验证所有这些测试的DB,因为DB需要一段时间才能更新。您不能在AfterClass中执行此操作,但可以使用侦听器来执行此操作。试试IInvokedMethodListener。实现以下方法:public void afterInvocation(IInvokedMethod方法,ITestResult testResult)
根据一些检查(testResul
我有一个包含两个方法的类,它们属于两个不同的组:
package foo.bar;
import org.testng.annotations.Test;
public class Five {
private int counter = 0;
@Test(groups = {"group1"})
public void testOne() {
System.out.println("Counter value in group1:" + counter
标签: Testng
h2spring-test-dbunith2db
我正在做DbUnit2.5.0和H2DB,一个用于TestNG的内存数据库1.4.180。我使用DBUnit从db(PostgreSQL)导出dataschema。然后我将此xml文件用于H2 DB,但每当我运行testNG时,它都会引发一个异常:
org.dbunit.dataset.NoSuchTableException: result
at org.dbunit.database.DatabaseDataSet.getTableMetaData(DatabaseDataSet.j
标签: Testng
testng-dataprovider
我正在处理创建正确的TestNG数据提供程序对象。我的目标是创建结构{customerCode,countryCode},例如“345”,“US”。
我能够将testNG.xml文件中的数据加载到两个单独的数组中,但最后要说明的是如何放置代码,以便它能够从一个数组返回第一个元素,并从第二个数组返回第一个元素,依此类推
这是我的代码,它返回两个不需要的数组。我希望与对象[][]配对,并将其用作数据提供程序
public Object[][] createData1(ITestContext con
有谁能为我提供一个直接链接,将maven test NG json pretty datapush集成到报表门户?我在谷歌上搜索了很多,找不到任何直接的文档
非常感谢 ReportPortal agent和有关集成的详细信息可在此处找到:
ReportPortal agent和有关集成的详细信息可在此处找到:
您可以在单独的存储库中找到工作示例:
查看带有Log4j2集成/配置示例的testng的example-testng-log4j模块。和示例testng logback用于带有logba
1 2 3 4 5 6 ...
下一页 最后一页 共 14 页