Java selenium自动化-testng框架
我正在使用Java语言和EclipseNeonIDE以及最新的webdriver和TestNG版本开发一个TestNG自动化框架。我使用的是webdriver 3.9.1版本和TestNG 6.14.3版本。我有一个master testng.xml文件,其中包含多个套件文件,每个套件文件都是为添加到项目中的AUT各个模块的独立类创建的 在这种情况下,主套件文件中的所有或少数套件文件都可以按照要求执行。每个文件只应执行一次。将始终执行登录套件文件,然后执行所需的测试模块问题在于master testng.xml文件中的最后一个套件文件运行了两次。以下是供参考的xml文件片段: Master testng.xmlJava selenium自动化-testng框架,java,selenium,automated-tests,testng,suite,Java,Selenium,Automated Tests,Testng,Suite,我正在使用Java语言和EclipseNeonIDE以及最新的webdriver和TestNG版本开发一个TestNG自动化框架。我使用的是webdriver 3.9.1版本和TestNG 6.14.3版本。我有一个master testng.xml文件,其中包含多个套件文件,每个套件文件都是为添加到项目中的AUT各个模块的独立类创建的 在这种情况下,主套件文件中的所有或少数套件文件都可以按照要求执行。每个文件只应执行一次。将始终执行登录套件文件,然后执行所需的测试模块问题在于master te
ProfileText.xml
Login.xml
请使用最新发布的TestNG viz版本重试<代码>6.14.3并发回您的发现?@Krishnan,谢谢您的建议。但是,我使用的是最新的webdriver和testng版本。我使用的是webdriver 3.9.1版本和TestNG 6.14.3版本。更新了上述问题中的相同内容。感谢您创建了一个简单的代码精简版本,并将其发布在这里(让我们跳过webdriver等,将其保留为一堆打印语句),无论您发布了什么内容,都很难对可能出现的错误进行评论。因此,我建议您首先创建可用于重现问题的样本,然后通过编辑您的问题发布该样本。@Krishnan,感谢您的回复。实际上AUT是不可公开访问的,所以即使提供代码库也不会有帮助,而且我实际上没有得到您要求的代码部分。然而,问题已经解决。事实上,我在主类中调用函数,并且在TestNG套件中作为独立测试单独列出,所以执行了两次。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="allSuites" thread-count="5" verbose="1" allow-return-values="false" parallel="false" data-provider-thread-count="10" junit="false" configfailurepolicy="skip" skipfailedinvocationcounts="false">
<!-- <suite guice-stage="DEVELOPMENT" name="All" verbose="1"> -->
<suite-files>
<suite-file path="./TestNG_ClassXMLs/LoginTest.xml" />
<suite-file path="./TestNG_ClassXMLs/ProfileTest.xml" />
</suite-files>
</suite> <!-- Default suite -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Identities-IMSI" thread-count="5" verbose="1" allow-return-values="false" parallel="false" data-provider-thread-count="10" junit="false" configfailurepolicy="skip" skipfailedinvocationcounts="false">
<!-- <suite name="Suite" parallel="false">-->
<!-- <test name="Test">
<classes>
<class name="GUIScreens_Tests.IMSI_Test"/>
</classes>
</test> Test -->
<test verbose="2" name="AddProfile">
<classes>
<class name="TestCases.Profile_Test" >
<methods>
<include name="testProfile" />
<include name="addProfile" />
<include name="delProfile" />
<!-- <include name="exportDataAsCSV" />
<include name="dualWriteVerification" />-->
</methods>
</class>
<parameter name="TestCaseID" value="Profile_Add_TC001"/>
<parameter name="TestData File Path" value="/TestData/dataFile.xlsx"/>
<parameter name="SheetName" value="Profiles"/>
<parameter name="TestDescription" value="Add a new profile."/>
</classes>
</test>
</suite> <!-- Suite -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="LoginTest" thread-count="5" verbose="1" allow-return-values="false" parallel="false" data-provider-thread-count="10" junit="false" configfailurepolicy="skip" skipfailedinvocationcounts="false">
<test thread-count="5" verbose="2" name="Login">
<classes>
<class name="TestCases.Login_Test">
<!-- <methods>
<include name="testLogin" />
</methods>-->
</class>
<parameter name="TestCaseID" value="Login_TC001" />
<parameter name="TestData File Path" value="/TestData/dataFile.xlsx" />
<parameter name="SheetName" value="Login" />
<parameter name="TestDescription" value="Login Success" />
</classes>
</test>
</suite>