2014-10-08 262 views
0

我有一个套件,有多个类的测试。我需要多次运行这个套件(不是并行的)。换句话说,运行“FirefoxTests”测试300次,或1000次等。我知道如何使用junit来做到这一点,但我没有使用我的脚本现在已经转换到的testng。这里是我的xml文件:testng多次运行硒测试

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="SuiteEndToEnd" parallel="false" verbose="10" thread-count="2"> 
    <listeners> 
     <listener class-name="com.bpms.tests.MySuiteListener"/> 
    </listeners> 
    <test name="FirefoxTests"> 
    <parameter name="browser" value="firefox"/> 
    <classes> 
     <class name="com.bpms.tests.InitiateBuyPlan"/> 
     <class name="com.bpms.tests.AddItemsToBuyPlan"/> 
     <class name="com.bpms.tests.ReviewBuyPlan"/> 
     <class name="com.bpms.tests.ApproveBuyPlan"/> 
     <class name="com.bpms.tests.ManageQuoteSolicitation"/> 
     <class name="com.bpms.tests.StartQuote"/> 
     <class name="com.bpms.tests.ReviewQuote"/> 
     <class name="com.bpms.tests.RecordInterestInQuotes"/> 
     <class name="com.bpms.tests.ReviewCountryBuyIn"/> 
     <class name="com.bpms.tests.CompleteItemInfo"/> 
     <class name="com.bpms.tests.ReviewItemInformation"/> 
     <class name="com.bpms.tests.UpdateInterestInQuote"/> 
     <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.ClassifyItem"/> 
     <class name="com.bpms.tests.ApproveItem" /> 
     <class name="com.bpms.tests.ClassifyItem2"/> 
     <class name="com.bpms.tests.CompleteItemClassification"/> 
     <class name="com.bpms.tests.ApproveItemClassification"/> 
     <class name="com.bpms.tests.SubmitLinkToFreightEstimates"/> 
     <class name="com.bpms.tests.ReviewFreightWorksheet"/> 
     <class name="com.bpms.tests.ReviewItemInfoAndReviseInterest"/> 
     <class name="com.bpms.tests.ManageAnalyzedQuotes"/> 
     <class name="com.bpms.tests.AuthorizeItemDevelopment"/> 
     <class name="com.bpms.tests.ConsolidateCountryAuthorizations"/> 
     <class name="com.bpms.tests.FinalizeItemInformationAndGenerateUnsignedItemAgreementPDF"/> 
     <class name="com.bpms.tests.VerifyAndUploadItemDocuments"/> 
     <class name="com.bpms.tests.AttachDocsForApproval"/> 
     <class name="com.bpms.tests.FinalizeItemForApproval"/> 
     <class name="com.bpms.tests.ApproveItemGMM"/> 
     <class name="com.bpms.tests.ConsolidateInCountryAGMM_GMMResponses"/> 
     <class name="com.bpms.tests.InitiateCodeOfConductForFactory"/> 
     <class name="com.bpms.tests.SubmitAuditResultsForFactory"/> 
     <class name="com.bpms.tests.ConfirmItemSetupAndPOsIssued"/> 
     <class name="com.bpms.tests.VerifyReceiptsOfPOs"/> 
     <class name="com.bpms.tests.ConfirmReceiptOfPOs"/> 
     <class name="com.bpms.tests.ReviewQAProductionTestResults"/> 
     <class name="com.bpms.tests.CompleteProjectChecklist"/> 
     <class name="com.bpms.tests.VerifySupplierCodeOfConductForFactory"/> 
     <class name="com.bpms.tests.VerifyChainSecurityForFactory"/> 
    </classes> 
    </test> <!-- FirefoxTests --> 
</suite> <!-- SuiteEndToEnd --> 

回答

0

有从XML没有直接的方法只有一种解释,这可以简单地没有真正增加太多精力的事情就是写上去的ITestListener

实现

在onStart方法可以为测试中的所有方法设置调用计数。例如 。

public void onStart(ITestContext context) { 

    if(context.getName().equals("FFTests")) { 
     for(ITestNGMethod met : context.getAllTestMethods()){ 
      met.setInvocationCount(200); 
     } 
    } 

} 

如果在该套件级来完成同样的需求则同样实现IsuiteListener OnStart方法。