I need a way to terminate the execution of a suite and not even attempt to run any remaining classes. I am using onTestFailure as below, but I do not want to just do a java terminate. I'd like to just stop the script and proceed to the final report generation, and do a graceful exit. This is an End-To-End scenario, and each test must have the test above it passing. There is no way I can see to set the remaining tests to Blocked which would be ideal, so I have to end. Running each and every test as skipped adds a lot to the execution speed as there are 43 tests that must be run. If the first fails, it attempts to run the remaining 42 and just wastes time. See my xml below also.
<?xml version="1.0" encoding="UTF-8"?>
<suite name="SuiteEndToEnd" parallel="false" verbose="10" thread-count="2">
<listeners>
<listener class-name="com.bpms.utility.TestListener"/>
<listener class-name="com.bpms.utility.MyTransformer"/>
</listeners>
<test name="End to End Test Suite">
<parameter name="browser" value="firefox"/>
<parameter name="debug" value="true"/>
<parameter name="defaults" value="false"/>
<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.InitiateAuditForFactory"/>
<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"/>
<class name="com.bpms.tests.HandleHighRiskSupplier"/>
</classes>
</test>
</suite>