Учебники

Селен — Пульт дистанционного управления

Selenium Remote Control (RC) был основным проектом Selenium, который поддерживался в течение долгого времени до появления Selenium WebDriver (Selenium 2.0). В настоящее время Selenium RC практически не используется, поскольку WebDriver предлагает более мощные функции, однако пользователи по-прежнему могут разрабатывать сценарии с использованием RC.

Это позволяет нам писать автоматизированные тесты пользовательского интерфейса веб-приложения с помощью всех возможностей языков программирования, таких как Java, C #, Perl, Python и PHP, для создания более сложных тестов, таких как чтение и запись файлов, запросы к базе данных и результаты тестов по электронной почте. ,

Selenium RC Architecture

Selenium RC работает таким образом, что клиентские библиотеки могут связываться с Selenium RC Server, передавая каждую команду Selenium для выполнения. Затем сервер передает команду Selenium в браузер, используя команды Selenium-Core JavaScript.

Браузер выполняет команду Selenium, используя свой интерпретатор JavaScript.

Selenium IDE 52

Selenium RC состоит из двух частей.

  • Selenium Server запускает и убивает браузеры. Кроме того, он интерпретирует и выполняет команды Selenese. Он также действует как HTTP-прокси, перехватывая и проверяя HTTP-сообщения, передаваемые между браузером и тестируемым приложением.

  • Клиентские библиотеки, которые обеспечивают интерфейс между каждым из языков программирования (Java, C #, Perl, Python и PHP) и сервером Selenium-RC.

Selenium Server запускает и убивает браузеры. Кроме того, он интерпретирует и выполняет команды Selenese. Он также действует как HTTP-прокси, перехватывая и проверяя HTTP-сообщения, передаваемые между браузером и тестируемым приложением.

Клиентские библиотеки, которые обеспечивают интерфейс между каждым из языков программирования (Java, C #, Perl, Python и PHP) и сервером Selenium-RC.

RC сценарий

Теперь давайте напишем пример сценария с использованием Selenium Remote Control. Давайте использовать http://www.calculator.net/ для понимания Selenium RC. Мы выполним вычисление процентов с помощью калькулятора процентов, который присутствует в модуле «Математические калькуляторы».

Шаг 1 — Запустите Selenium Remote Control (с помощью командной строки).

Шаг 2 — После запуска Selenium RC, откройте Eclipse и создайте «Новый проект», как показано ниже.

Selenium IDE 53

Шаг 3 — Введите название проекта и нажмите кнопку «Далее».

Селен IDE 54

Шаг 4. Проверьте папку «Источник», «Проекты», «Библиотеки» и «Вывод» и нажмите «Готово».

Селен IDE 55

Шаг 5 — Щелкните правой кнопкой мыши на контейнере проекта и выберите «Настроить путь сборки».

Selenium IDE 56

Шаг 6 — Свойства для selrcdemo открывается. Перейдите на вкладку «Библиотеки» и выберите «Добавить внешние JAR». Выберите загруженный нами файл jar Selenium RC, и он будет выглядеть так, как показано ниже.

Selenium IDE 57

Шаг 7 — Библиотеки, на которые ссылаются, показаны, как показано ниже.

Selenium IDE 58

Шаг 8 — Создайте новый файл класса, щелкнув правой кнопкой мыши по папке ‘src’ и выбрав ‘New’ >> ‘class’.

Selenium IDE 59

Шаг 9 — Введите имя файла класса и включите «public static void main», как показано ниже.

Selenium IDE 60

Шаг 10 — Созданный класс создается в структуре папок, как показано ниже.

Selenium IDE 70

Шаг 11 — Теперь пришло время для кодирования. В следующем коде есть комментарии, встроенные в него, чтобы читатели поняли, что было предложено.

package selrcdemo;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class rcdemo {
   public static void main(String[] args) throws InterruptedException {

      // Instatiate the RC Server
      Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
      selenium.start();   // Start
      selenium.open("/");  // Open the URL
      selenium.windowMaximize();

      // Click on Link Math Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
      Thread.sleep(2500); // Wait for page load

      // Click on Link Percent Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
      Thread.sleep(4000); // Wait for page load

      // Focus on text Box
      selenium.focus("name = cpar1");
      
      // enter a value in Text box 1
      selenium.type("css=input[name = \"cpar1\"]", "10");
      
      // enter a value in Text box 2
      selenium.focus("name = cpar2");
      selenium.type("css = input[name = \"cpar2\"]", "50");

      // Click Calculate button
      selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");

      // verify if the result is 5
      String result = selenium.getText(".//*[@id = 'content']/p[2]");

      if (result == "5") {
         System.out.println("Pass");
      } else {
         System.out.println("Fail");
      }
   }
}

Шаг 12 — Теперь давайте запустим скрипт, нажав кнопку «Выполнить».

Selenium IDE 72

Шаг 13 — Сценарий начнет выполняться, и пользователь сможет увидеть историю команд на вкладке «История команд».

Selenium IDE 71

Шаг 14 — Окончательное состояние приложения показано ниже. Процент рассчитывается, и он отображает результат на экране, как показано ниже.

Selenium IDE 73

Шаг 15 — Вывод теста печатается на консоли Eclipse, как показано ниже, так как мы выводили вывод на консоль. В режиме реального времени вывод записывается в файл HTML или в простой текстовый файл.