Как выполнить тестовую запись (одну строку) листа Excel без получения тестовой записи в селене (testng) - PullRequest
0 голосов
/ 11 марта 2019

У меня есть приложение, в которое я хочу войти. Вход будет успешным (с указанием правильного идентификатора пользователя и пароля), и страница будет перенаправлена ​​на домашнюю страницу только при успешном входе.Однако, при неудачном входе на страницу не будет перенаправлена ​​на другую страницу, она просто скажет «пожалуйста, введите правильные данные»

У меня есть лист Excel с правильным идентификатором пользователя и паролем, а также с неправильным идентификатором пользователя и паролем.

Рассмотрим следующую последовательность:

  1. Правильный идентификатор пользователя и пароль
  2. Правильный идентификатор пользователя и пароль
  3. Неверный идентификатор пользователя и пароль
  4. правильный идентификатор пользователя и пароль
  5. ..... правильный идентификатор пользователя и пароль.,,50 ... Правильный идентификатор пользователя и пароль

Теперь, если я выполняю свою программу, используя лист Excel, программа отлично работает для тестовых записей 1 2, однако, поскольку тестовая запись 3 не является правильной детализацией, поэтому программаостанавливает выполнение, а все остальные тестовые записи с 3 по 50 не оцениваются.

Мне нужен механизм, который, если идентификатор пользователя и пароль неверны, тестовая запись должна пройти (с указанием ИСТИНА ОТРИЦАТЕЛЬНАЯ).Может ли утверждение сделать это?

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Вы должны поместить свой код в блок try-catch, чтобы избежать завершения программы. Я предполагаю, что в вашем коде может быть следующая структура кода:

@Test
public void validateCredentials(String username, String password)
{
 //do login and check for credentials
 for (int i=0; i<array.lenth; i++)
 {
   try{
   if(successful go ahead){}
   else
     throw new Exception("Not valid credentials")
   } catch(Exception e){ e.printstacktrace();}
 }
}

В этом случае, скажем, под номером 3, у вас есть неверные учетные данные, оно сгенерирует исключение, и в блоке catch оно будет обработано и не остановит ваш код между ними в случае сбоя.

0 голосов
/ 11 марта 2019

вы используете TestNG библиотеку для этого, где xml-файл содержит наборы, он выполняет порядок тестовых случаев, как вы упомянули в файле, см. Ниже, он также выполняет «FirstTestCase», а затем «SecondTestCase». Таким образом, вы можетеВыполните одно действие - вызовите один файл testng.xml, который содержит такие наборы, как этот.

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="testng" preserve-order="true">

    <test name="FisrtTestCase_001">
        <parameter name="test-id" value="firsttestcase_001"/>
        <parameter name="test-config" value="LotEntryConfig"/>
        <parameter name="test-config-sheet" value="LotAdd"/>
        <classes>
            <class name="testDrivers.TestDriver"/>
        </classes>
    </test>
    <test name="SecondTestCase_002">
        <parameter name="test-id" value="secondtestcase_002"/>
        <parameter name="test-config" value="FarmerRegConfig"/>
        <parameter name="test-config-sheet" value="NewReg"/>
        <classes>
            <class name="testDrivers.TestDriver"/>
        </classes>
    </test>

 </suite> <!-- testng-->

Точно так же вы можете вставить больше наборов, поэтому преимущество заключается в том, что если какой-либо из тестовых примеров завершится неудачно, то выполнениене остановлюсь, но вам нужно разработать эту логику, как в моем случае у меня есть три параметра test-id, config-file, sheet-name

, чтобы тестовый случай выполнялся таким образом, чтобы любой файл конфигурации присутствовал илиесли нет, то имя листа присутствует или нет, если присутствует, то в столбце присутствует test-id или нет, если присутствует, извлеките значение all из этой строки и сохраните его в массиве, так что вы будете мудры, когда захотите..

Я поделился ссылкой с вами для справки ..

https://www.guru99.com/all-about-testng-and-selenium.html

https://www.toolsqa.com/testng-tutorial/

Надеюсь, вы понялид это ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...