автоматизация селена - рамки тестирования - PullRequest
0 голосов
/ 10 мая 2018

Я занимаюсь разработкой инфраструктуры автоматизации TestNG с использованием языка Java и Eclipse Neon IDE с последними версиями webdriver и testng.Я использую версию webdriver 3.9.1 и версию TestNG 6.14.3.У меня есть главный файл testng.xml, который содержит несколько файлов комплектов, каждый из которых создан для независимых классов, добавляемых в проект для отдельных модулей AUT.

. Это может быть случай, когда все или несколько файлов комплектов,в файле основного комплекта, выполняются согласно требованию.Каждый файл должен быть выполнен только один раз.Файл комплекта входа в систему всегда будет выполняться, а затем будут следовать необходимые тестовые модули. Проблема заключается в том, что последний файл набора в главном файле testng.xml выполняется дважды. Ниже приведены фрагменты XML-файла для справки:

Мастер testng.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="allSuites" thread-count="5" verbose="1" allow-return-values="false" parallel="false" data-provider-thread-count="10" junit="false" configfailurepolicy="skip" skipfailedinvocationcounts="false">
<!-- <suite guice-stage="DEVELOPMENT" name="All" verbose="1"> -->

<suite-files>
    <suite-file path="./TestNG_ClassXMLs/LoginTest.xml" />  
    <suite-file path="./TestNG_ClassXMLs/ProfileTest.xml" /> 
</suite-files>
</suite>    <!-- Default suite -->

ProfileText.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Identities-IMSI" thread-count="5" verbose="1" allow-return-values="false" parallel="false" data-provider-thread-count="10" junit="false" configfailurepolicy="skip" skipfailedinvocationcounts="false">
<!--  <suite name="Suite" parallel="false">-->
 <!-- <test name="Test">
    <classes>
      <class name="GUIScreens_Tests.IMSI_Test"/>
    </classes>
  </test>  Test -->

<test verbose="2" name="AddProfile">
    <classes>
        <class name="TestCases.Profile_Test" >
            <methods>
                <include name="testProfile" />
                <include name="addProfile" /> 
                <include name="delProfile" />
                <!-- <include name="exportDataAsCSV" /> 
                <include name="dualWriteVerification" />-->
            </methods>
        </class> 
        <parameter name="TestCaseID" value="Profile_Add_TC001"/>
        <parameter name="TestData File Path" value="/TestData/dataFile.xlsx"/>
        <parameter name="SheetName" value="Profiles"/>
        <parameter name="TestDescription" value="Add a new profile."/>
    </classes>
</test>

</suite> <!-- Suite -->

Login.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="LoginTest" thread-count="5" verbose="1" allow-return-values="false" parallel="false" data-provider-thread-count="10" junit="false" configfailurepolicy="skip" skipfailedinvocationcounts="false">

<test  thread-count="5" verbose="2" name="Login">
    <classes>
        <class name="TestCases.Login_Test">
            <!-- <methods>
                <include name="testLogin" />
            </methods>-->
        </class> 
        <parameter name="TestCaseID" value="Login_TC001" />
        <parameter name="TestData File Path" value="/TestData/dataFile.xlsx" />
        <parameter name="SheetName" value="Login" />
        <parameter name="TestDescription" value="Login Success" />
    </classes>
</test>

</suite>
...