在testng中多次运行硒测试

时间:2014-10-08 17:11:57

标签: selenium selenium-webdriver testng

我有一个套件,它有多个类的测试。我需要多次运行此套件(不是并行运行)。换句话说,运行" FirefoxTests"测试300次,或1000次,等等。我知道如何使用junit,但我没有使用我的脚本现已转换为的testng。这是我的xml文件:

<?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 -->

1 个答案:

答案 0 :(得分:0)

没有直接来自xml的方法,但只有一种方法可以简单地完成,而不需要花费太多精力就可以为ITestListener编写实现

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

public void onStart(ITestContext context) {

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

}

如果需要在套件级别完成相同的操作,那么同样实现IsuiteListener onStart方法。

相关问题