Selenium IDE: примеры создания Test Case, Test Suite и работы с переменными

Test Case – это главная “боевая” единица в Selenium IDE. Test Case представляет собой набор специализированных команд для автоматизации тестирования определенной части программы. В Selenium IDE test case организованны в виде HTML-страниц, содержащих одну таблицу. Каждая строка таблицы содержит команду Selenium.  Например:

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }<tr> <td>click</td> <td>AddMember_btn</td> <td></td> </tr>{/syntaxhighlighter}

Строка таблицы содержит три поля:

  • Command – название команды;
  • Target – локатор элемента;
  • Value – значение передаваемое команде.

Вот так выглядит вызов команды Selenium-а Type(string locator, string value) (полностью пример смотреть здесь) с применением Java синтаксиса:

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }selenium.type("s", "Пишем тесты на Selenium IDE"); //вводим в текстовое поле значение “Пишем тесты на Selenium IDE”{/syntaxhighlighter}

А вот так выглядит эта же команда Selenium-а в HTML формате:

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }<tr> <td>type</td> <td>s</td> <td>Пишем тесты на Selenium IDE</td> </tr>{/syntaxhighlighter}

Test Suite – это группа тест-кейсов (test case), объединенных по некоторому принципу, и предназначенных для проверки определенной части программы. Для формирования test suite, нужно чтобы файлы тест-кейсов находились в одном каталоге с собравшим их test suite. TestSuite является обыкновенной HTML страницей, пример использования Test Suite:


{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type" />

</head>
<body>
<table id=“suiteTable” cellpadding=“1” cellspacing=“1” border=“1” class=“selenium”>
<tbody>
<tr>
<td><b>Test Suite</b></td>
</tr>
<tr>
<td><a href=“smoke_storeGlobal.html”>smoke_storeGlobal</a></td>
</tr>
<tr>
<td><a href=“add custom fields for project.html”>add custom fields for project</a></td>
</tr>
<tr>
<td><a href=“add custom fields for all activities.html”>add custom fields for all activities</a></td>
</tr>
<tr>
<td><a href=“add custom fields for customer.html”>add custom fields for customer</a></td>
</tr>
<tr>
<td><a href=“add custom fields for issue.html”>add custom fields for issue</a></td>
</tr>
<tr>
<td><a href=“add custom fields for portfolio.html”>add custom fields for portfolio</a></td>
</tr>
<tr>
<td><a href=“add custom fields for request.html”>add custom fields for request</a></td>
</tr>
<tr>
<td><a href=“add custom fields for tasks.html”>add custom fields for tasks</a></td>
</tr>
<tr>
<td><a href=“add custom fields for user.html”>add custom fields for user</a></td>
</tr>
</tbody>
</table>

</body>
</html>{/syntaxhighlighter}

Для того, чтобы открыть
Test Suite необходимо в окне Selenium IDE выбрать “File / Open Test
Suite”. Список тестов открытого Test Suite-а отобразится в левой части
окна Selenium IDE. Для запуска всех тестов в Test Suite-е нужно
воспользоваться кнопкой “Play entire test suite”. Тесты будут
выполняться в порядке очередности.

Store. Selenium IDE позволяет объявлять и использовать переменные. Чтобы объявить переменную нужно воспользоваться одной из нужных команд Selenium-а. Все команды предназначенные для работы с переменными начинаются с “store”, чтобы посмотреть список доступных команд откройте Selenium IDE, и введите в поле “Command” значение “store” – в списке отфильтруются все команды предназначенные для работы с переменными. Например – storeAttribute(attributeLocator, variableName), storeText(locator, variableName), всего команд достаточно много. Самый удобный способ объявления переменной – выбрать на тестируемой странице необходимый элемент, открыть для него контекстное меню и выбрать команду доступную для данного элемента.

Рекомендую для “глобальных” (переменные, которые используются в разных местах) переменных использовать отдельный файл storeGlobal. “Локальные” переменные можно объявлять непосредственно в самих тест-кейсах.

Пример объявления переменной (запоминаем URL тестируемой страницы):

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }<tr> <td>storeGlobal</td> <td>http://blogs.logicsoftware.net/qa/</td> <td>link</td> </tr>{/syntaxhighlighter}

Пример использования переменной в тест-кейсе (в данном примере в поле type вносим значение переменной Status1):

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }<tr> <td>type</td> <td>ctl00_cp1_form_TaskStatusList_Input</td> <td>${Status1}</td> </tr>{/syntaxhighlighter}