【问题标题】:Running selenium test multiple times in testng在 testng 中多次运行 selenium 测试
【发布时间】:2014-10-08 17:11:56
【问题描述】:

我有一个包含多个类的测试套件。我需要多次运行这个套件(不是并行)。换句话说,运行“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 -->

【问题讨论】:

    标签: selenium selenium-webdriver testng


    【解决方案1】:

    从 xml 中没有直接的方法,但是可以简单地做到这一点而无需付出太多努力的一种方法是为 ITestListener 编写一个实现

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

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

    如果需要在套件级别执行相同操作,则类似地实现 IsuiteListener onStart 方法。

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 2017-07-22
      • 1970-01-01
      • 2019-02-09
      • 2021-04-18
      • 2017-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多