2015-11-04 2 views
0

Я попытался использовать несколько классов в testNG в одном тестовом сценарии. Он должен выполнить несколько методов из первого класса, затем из второго и обратно в первый класс. Но после выполнения первого класса методы превью тест закончен как успешный, а еще методы не выполнить (последний метод - logonSuccess)Как вернуться к первому тестовому классу после другого класса в сценарии xml testNG

<test name="WithdrawCCC"> 
<parameter name="param_one" value="value"/> 
<parameter name="param_two" value="value"/> 


<classes> 

    <class name="Class_one"> 
     <methods> 
      <include name="openURL"/> 
      <include name="vaidateElementsOnPage"/> 
      <include name="authTry"/> 
      <include name="logonSuccess"/> 
     </methods> 
    </class> 

    <class name="Class_two"> 
     <methods> 
      <include name="vaidateElementsOnPage"/> 
      <include name="checkForTransaction"/> 
     </methods> 
    </class> 

    <class name="Class_one"> 
     <methods> 
      <include name="refreshCurrentPage"/> 
      <include name="checkTransactionStatus"/> 
     </methods> 
    </class> 
</classes> 

Как я могу решить эту неприятность?

+0

то, что вам нужно сделать, это создать @Test metho d и оттуда вызывать другие методы и утверждать их исход. –

ответ

0

TestNg запускает методы класса тестов в том порядке, в котором они определены в файле xml, если вы не настроили его иначе, используя приоритеты потоков или атрибут «зависит». Если вы не видите коды тестовых классов, вы не можете точно определить ошибку Вот один из способов сделать это. Создайте группы и используйте dependOnGroup.

Если вы хотите, чтобы logonSuccess запускался после каждого метода, добавьте все другие методы в ту же группу и используйте функцию dependOngroup на logonSuccess.

Позвольте мне привести пример. Я хочу, чтобы тест bouncer выполнялся после всех методов из обоих классов.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 
<suite name="IPL" verbose="0" > 
    <test name="cricketTest"> 
    <classes> 
     <class name="com.basic.thread.BallTest"></class> 
     <class name="com.basic.thread.BatTest"></class> 
    </classes> 
    </test> 
</suite> 

Первый тестовый класс

public class BallTest { 
    @Test(groups="first") 
    public void yorker() { 
     System.out.println("yorker"); 
    } 
    @Test(dependsOnGroups={"first"}) 
    public void bouncer() { 

     System.out.println("bouncer "); 
    } 
} 

Второй тест класс

public class BatTest { 
    @Test(groups="first") 
    public void Pull() { 
     System.out.println("Pull "); 
    } 
    @Test(groups="first") 
    public void StraightDrive() { 
     System.out.println("Straight "); 
    } 
} 

ВЫВОД: Yorker Вытащите Straight вышибала

+0

Ваш ответ не содержит необходимых объяснений. –

+0

@PrafullaKumarSahu Я приложил образец кода. – Himaprasoon

+0

почему он получал ошибку, если вы можете объяснить ему концепцию, и это также будет полезно для людей, которые приходят посмотреть и учиться годами. Я удалил свой downvote. –

Смежные вопросы