Тестування з selenium

Selenium IDE

Selenium IDE - це плагін для Firefox, який дозволяє записувати дії вироблені в браузері, відтворювати їх, а також експортувати код для: Java, C #, PHP ... На сторінці завантаження можна також завантажити плагіни, які збільшують зручність використання Selenium IDE на порядок.

Рекомендовані плагіни:

  • Selenium IDE Buttons - кнопки для запуску Selenium. Дозволяють запустити IDE в режимі Pop Up (окремим вікном) і Sidebar (ліворуч в тому ж вікні). Без цих кнопок IDE потрібно буде запускати з головного меню. З урахуванням того, що з 4-ої версії Firefox це меню за замовчуванням приховано, то ці кнопки додають зручність у використанні доповнення
  • Highlight Elements - під час "прогону" скрипта, кожне натискання на елементі сторінки буде підсвічуватися жовтим кольором. Це дуже зручно, особливо коли використовуєш тести записані кимось іншим
  • Power Debugger - якщо під час "прогону" тесту виявилася невдалою, то плагін перехоплює виняток і зупиняє виконання. Рядок скрипта, яка викликала помилку можна підправити, після чого натиснувши на кнопку Power Debugger-а можна продовжити виконання тесту

    І ще два плагіна, як на мій погляд менш потрібних, але не даремних:

    Робота з плагіном проста і очевидна, хіба що тільки після запису скрипта, доводиться замінювати ідентифікатор кейса на xpath, тому що за ідентифікатором name він "ходити" не хоче.

    Тестування з selenium

    Можливо це у мене глюк. Протестувавши інтерфейс в браузері, можна переходити до коду. Для цього потрібно зробити експорт нашого кейса. У нашому випадку експорт будемо робити в PHPUnit.

    Тестування з selenium

    Результуючий код на PHP буде виглядати так:

    Тепер цей код, в такому вигляді в якому він є, можна передавати в PHPUnit.

    Selenium Server

    Selenium Server - це HTTP-сервер, написаний на Java який може приймати команди в текстовому вигляді. Запускаємо сервер наступної коммандой:

    Після запуску консоль буде виглядати так:

    Тестування з selenium

    Тепер сервера можна посилати команди виду:

    Оскільки ми запустили сервер використовуючи параметр -interactive, ми можемо посилати команди прямо з консолі. Для прикладу запустимо сторінку блога в IE. В консолі пишемо:

    Тестування з selenium

    На скріншоті видно, що відкрилося вікно сервера і вікно Internet Explorer. Для відкриття сторінки блогу, нам потрібно виконати команду "open" і передати ідентифікатор сесії. Ідентифікатор сесії можна отримати вікні Command History.

    Тестування з selenium

    Про те як все це працює можна почитати тут. англійською.

    PHPUnit Testing_Selenium

    Передавати серверу команди з консолі ми звичайно ж не будемо. За нас це буде робити PHPUnit. Для того, щоб все запрацювало нам потрібно за допомогою PEAR-installer-а встановити PHPUnit, Testing_Selenium. Про те, як це все встановити - в іншій статті. Передбачається, що PEAR завантажений, а також інстальовані PHPUnit і Testing_Selenium. Тепер, для запуску тесту нам потрібно передати в PHPUnit ім'я файлу, в який ми експортували кейс з Selenium IDE. Припустимо, ми експортували кейс в файл з назвою test.php. Для запуску тесту нам потрібно виконати в консолі команду:

    Сервер відкриє браузер і виконає весь скрипт, записаний в Selenium IDE. У код експортованого скрипта можна додати свій код, наприклад записати час проведення тесту в базу даних або зберегти результати тесту в файл журналу.

    Схожі статті