Учебники

Мобильное тестирование — Selendroid Framework

Selendroid — это среда автоматизации тестирования для тестирования нативных и гибридных приложений Android. Тесты Selendroid написаны с использованием клиентского API Selenium Webdriver.

Преимущества Selendroid

  • Полностью совместим с протоколом проводов JSON / Selenium 3 Ready.

  • Не требуется модификация тестируемого приложения для его автоматизации.

  • Тестирование мобильного интернета с помощью встроенного приложения для просмотра драйверов Android.

  • Та же концепция для автоматизации нативных или гибридных приложений.

  • Элементы пользовательского интерфейса могут быть найдены различными типами локаторов.

  • Поддерживаются жесты: API расширенного взаимодействия с пользователем.

  • Существующие эмуляторы запускаются автоматически.

  • Selendroid поддерживает горячее подключение аппаратных устройств.

  • Полная интеграция как узел в Selenium Grid для масштабирования и параллельного тестирования.

  • Поддержка нескольких целевых API Android (от 10 до 19).

  • Встроенный инспектор для упрощения разработки тестовых случаев.

  • Selendroid может быть расширен во время выполнения с помощью ваших собственных расширений.

  • Selendroid может взаимодействовать с несколькими устройствами Android (эмуляторами или аппаратными устройствами) одновременно.

Полностью совместим с протоколом проводов JSON / Selenium 3 Ready.

Не требуется модификация тестируемого приложения для его автоматизации.

Тестирование мобильного интернета с помощью встроенного приложения для просмотра драйверов Android.

Та же концепция для автоматизации нативных или гибридных приложений.

Элементы пользовательского интерфейса могут быть найдены различными типами локаторов.

Поддерживаются жесты: API расширенного взаимодействия с пользователем.

Существующие эмуляторы запускаются автоматически.

Selendroid поддерживает горячее подключение аппаратных устройств.

Полная интеграция как узел в Selenium Grid для масштабирования и параллельного тестирования.

Поддержка нескольких целевых API Android (от 10 до 19).

Встроенный инспектор для упрощения разработки тестовых случаев.

Selendroid может быть расширен во время выполнения с помощью ваших собственных расширений.

Selendroid может взаимодействовать с несколькими устройствами Android (эмуляторами или аппаратными устройствами) одновременно.

Недостатки Selendroid

Недостаток этого инструмента в том, что он довольно медленный, и на некоторых машинах с объемом оперативной памяти менее 4 ГБ его невозможно использовать.

Как использовать Selendroid

Шаг 1 — Необходимыми условиями использования Robotium является Java SDK (минимум 1.6). Если в вашей системе не установлена ​​Java, выполните следующие действия.

  • Загрузите JDK и JRE из Oracle JavaSE

  • Принять лицензионное соглашение.

  • Установите JDK и JRE.

  • Установите переменную среды, как показано на скриншоте ниже.

Загрузите JDK и JRE из Oracle JavaSE

Принять лицензионное соглашение.

Установите JDK и JRE.

Установите переменную среды, как показано на скриншоте ниже.

Переменная среды

Шаг 2 — Загрузите Android Studio из SDK Android (это займет время из-за размера файла).

  • Дважды щелкните по exe и запустите установщик.
  • Продолжить со всеми параметрами по умолчанию.
  • Установите ANDROID_HOME.

Шаг 3 — Загрузите файлы Selenium jar и тестовое приложение с Selendroid

  • Загрузите файл jar селена и тестовое приложение.
  • Поместите его в любую папку, например D: \ SelendroidJars.

Шаг 4 — Физическое устройство с USB-кабелем.

  • Убедитесь, что устройство подключено к рабочей станции с помощью USB-кабеля.

  • Убедитесь, что режим отладки по USB (в настройках → Параметры разработчика) включен.

Убедитесь, что устройство подключено к рабочей станции с помощью USB-кабеля.

Убедитесь, что режим отладки по USB (в настройках → Параметры разработчика) включен.

Протестируйте приложение с помощью Selendroid

Чтобы протестировать приложение с помощью Selendroid, выполните следующие действия:

Шаг 1 — Установите Eclipse.

Шаг 2 — Создайте проект Java.

Шаг 3 — Добавьте загруженный файл jar Selendroid во вновь созданный проект.

Шаг 4 — Добавьте загруженные файлы Selenium jar во вновь созданный проект.

Шаг 5 — Сконфигурируйте testNG в Eclipse.

Шаг 6 — Подключите мобильные устройства к системе с помощью USB-кабеля. Установите режим отладки USB из настроек разработчика в настройках.

Шаг 7 — Запустите сервер Selendroid. Откройте командную строку, введите следующий код и нажмите Enter —

java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk

Selendroid-standalone запустит http-сервер на порту 4444 и просканирует все виртуальные устройства Android (avd), созданные пользователем (~ / .android / avd /).

Откройте веб-браузер и перейдите по адресу : http: // localhost: 4444 / wd / hub / status .

Шаг 8 — Создание проекта Java; добавьте Selendroid Standalone библиотеки, Selenium jar и библиотеки JUnit в путь сборки.

Селен Мастер

Шаг 9 — Создание пакета под Java-проектом.

Шаг 10 — Создайте класс под пакетом и напишите следующий код.

package selTest;

import io.selendroid.SelendroidDriver; 
import io.selendroid.common.SelendroidCapabilities;
import io.selendroid.standalone.SelendroidConfiguration;
import io.selendroid.standalone.SelendroidLauncher;

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 

import org.testng.Assert; 
import org.testng.annotations.AfterSuite; 
import org.testng.annotations.BeforeSuite; 
import org.testng.annotations.Test;

public class SelendroidTest {

   private WebDriver driver ;

   @BeforeSuite 
   public void setUp() throws Exception {
      SelendroidConfiguration config = new SelendroidConfiguration();
      config.addSupportedApp("selendroid-test-app-0.9.0.apk");
      SelendroidLauncher selendroidServer = new SelendroidLauncher(config);
      selendroidServer.launchSelendroid();
	  
      SelendroidCapabilities caps = new
         SelendroidCapabilities("io.selendroid.testapp:0.9.0"); 
      driver = new SelendroidDriver(caps);
   }
   
   @Test 
   public void selendroidTest() throws Exception {
      WebElement inputField = driver.findElement(By.id("my_text_field"));
      Assert.assertEquals("true", inputField.getAttribute("enabled"));
      inputField.sendKeys("Selendroid");
      
      Assert.assertEquals("Selendroid", inputField.getText());
	  
      WebElement button = driver.findElement(By.id("buttonTest"));
      button.click();
	  
      button = driver.findElement(By.id("button2"));
      button.click();
      
      Thread.sleep(5000);
	  
      button = driver.findElement(By.id("startUserRegistration"));
      button.click();
      
      Thread.sleep(10000);
	  
      WebElement element = driver.findElement(By.id("label_username")); 
      
      String text = element.getText();
      System.out.println(text);
      element = driver.findElement(By.id("inputUsername"));
      element.sendKeys("bob");
      
      element = driver.findElement(By.id("inputEmail"));
      element.sendKeys("[email protected]"); 
      
      element = driver.findElement(By.id("inputPassword"));
      element.clear();
      element.sendKeys("test1233");
      
      element = driver.findElement(By.id("inputName"));
      element.clear(); 
      element.sendKeys("My Name ");
	  
      element = driver.findElement(By.id("input_preferedProgrammingLanguage")); 
      element.click();
      
      element = driver.findElement(By.id("text1"));
      element.click();
	  
      element = driver.findElement(By.id("input_adds"));
      element.click();
	  
      element = driver.findElement(By.id("btnRegisterUser"));
      element.click();
      
      element = driver.findElement(By.id("buttonRegisterUser"));
      element.click(); 
   }
   
   @AfterSuite 
   public void tearDown(){ 
      driver.quit(); 
   } 
}

Шаг 11 — Запустите класс с конфигурацией запуска testNG.