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}