Слайд 2Особенности WEB-приложений
Множество браузеров, отличающиеся реализацией
Отсутсвие строгих правил в HTML
Различные конфигурации на стороне
клиента
Слайд 3Что такое Selenium?
Это инструмент тестирования WEB-приложений.
Создан на основе библиотеки, написанной на JavaScript
в 2004м году.
Различают 2 поколения: 1-е до интеграции с WebDriver, 2-е – после.
Слайд 4Возможности Selenium
Кроссбраузерное и кроссплатформенное тестирование
Тестирование проходит в браузере, а не в эмуляторе
Идентификация
элементов несколькими способами(XPath, ID, DOM, CSS Locator)
Выполнение JavaScript кода на странице тестируемого приложения
Слайд 5Совместимость
Платформы:
Windows
Mac
Linux
Браузеры
FireFox 2, 3, 3.x, 4
IE 6, 7, 8
Safari 2, 3, 4 (5?)
Opera
8, 9, 10
Google Chrome
Другие
Слайд 6Разновидности Selenium
Selenium IDE
Selenium Core
Selenium RC
Selenium Grid
Слайд 7Selenium IDE
Возможности:
Быстрая запись и воспроизведение
Регулирование скорости выполнения
Создание тест-сьютов
Отладка тестов
Экспорт тестов в разные
форматы
Слайд 8Selenium IDE
Достоинства:
Прост в понимании
Прост в использовании
Недостатки:
Работает только в FireFox
Нет параллельного выполнения
тестов(только в нескольких окнах FireFox)
По у молчанию нет условий, циклов (но для этого можно использовать дополнения)
Слайд 11Selenium Core
Возможности(они же достоинства):
Использование тест-сьютов
Запуск в разных браузерах за счет размещения на
сервере
Недостатки:
Отсутсвие параллельного запуска
Все тесты размещаются на сервере – неудобно поддерживать
Нет средств записи/воспроизведения
Слайд 14Selenium RC
Достоинства:
Платформонезависимость
Браузеронезависимость
Использование любого языка программирования
Возможность построения сложных тестовых систем
Недостатки:
- Сложность
Слайд 15Selenium RC
package com.example.tests;
import com.thoughtworks.selenium.*;
import java.util.regex.Pattern;
public class test 1 extends SeleneseTestCase {
public void
setUp() throws Exception {
setUp("http://nj09app046:8080/", "*chrome");
}
public void testTest 1() throws Exception {
selenium.open("http://www.yandex.ru/");
assertEquals("Яндекс", selenium.getTitle());
selenium.type("//*[@id=\"text\"]", "sqa days 10");
selenium.click("//*[@id=\"sbtn\"]");
selenium.waitForPageToLoad("30000");
assertTrue(selenium.isTextPresent("SQA Days"));
}
}
Слайд 17Selenium Grid
Достоинства
- Многократное уменьшение времени выполнения при большом количестве тестовых сценариев.
- Возможность использования
ранее написанных тестов (на java, ruby python…).
Простой способ построения распределенной среды для выполнения тестов.
Недостатки
- Нет средств Record/Playback.
- Нет поддержки selence test cases.
- Требует более высокой квалификации от сотрудников.
- Есть проблемы с кирилицей при воспроизведении и проблемы с запуском parallels tests.