【发布时间】:2018-03-03 08:11:26
【问题描述】:
我在 testng 中为 selenium 设置了一个套件。该套件包含两次相同的测试类,因为该类必须运行两次,因为在两者之间进行了修改。我遇到的问题是 testng 只运行该类的第一次出现,而不是第二次出现。有没有办法让它在同一个套件中运行两次?
<suite name="P0-SuiteLoopbackGenerateUnsignedItemAgreementToNLC" parallel="false" verbose="10">
<listeners>
<listener class-name="com.bpms.tests.MySuiteListener"/>
</listeners>
<test name="FirefoxTest">
<parameter name="browser" value="firefox"/>
<parameter name="debug" value="true"/>
<classes>
<class name="com.bpms.tests.PerformLogisticsAnalysis"/>
<class name="com.bpms.tests.SecondReview"/>
<class name="com.bpms.tests.ReviewNLCDiagrams"/>
<class name="com.bpms.tests.ConfirmItemSpecifications"/>
<class name="com.bpms.tests.LoopbackGenerateUnsignedItemAgreementToNLC"/>
<class name="com.bpms.tests.DetermineLoopbackToNLC"/>
<class name="com.bpms.tests.PerformLogisticsAnalysisAfterLoopback"/>
<class name="com.bpms.tests.SecondReview"/>
<class name="com.bpms.tests.ReviewNLCDiagrams"/>
<class name="com.bpms.tests.ConsolidateCountryAuthorizations"/>
<class name="com.bpms.tests.FinalizeItemInformationAndGenerateUnsignedItemAgreementPDF"/>
<class name="com.bpms.tests.VerifyAndUploadItemDocuments"/>
</classes>
</test>
</suite>
运行此套件会导致跳过第二个“SecondReview 和 ReviewNLCDiagrams”。我需要这些来第二次运行。有什么办法吗?
【问题讨论】:
-
在同一个测试套件中运行同一个测试类两次有什么意义?请记住,对您的 java 类所做的更改需要编译以供测试类考虑。
-
你试过类似
public class SecondReviewAgain extends SecondReview {}吗? -
您可以将前 7 个测试用例分组到一个组中,最后 5 个在另一个组中。然后通过 testng 运行组。
-
在同一个套件中运行同一个测试类的目的是这样的……每个测试类基本上都是在测试一个流程的单个网页。有时,我们运行一个页面,然后运行另一个页面,这会更改在前一页中验证的值。因此我需要重新运行之前运行的同一个测试类,以验证更改的数据是否真正生效。
-
这就是整个例子。尝试声明该类,然后将其列在套件中。
标签: java eclipse selenium-webdriver testng