Перейти к основному содержимому

AppiumDriver API


Описание.

IAppiumDriverAPI AppiumDriver

Этот интерфейс предоставляет методы для поиска элементов в Android-приложениях и взаимодействия с ними. Он является ключевым инструментом автоматизации взаимодействия с пользовательским интерфейсом через ZennoDroid.

Когда элемент был успешно найден, возвращается объект IAndroidElementAPI, если не найден, то null.


Методы.

Получаем элемент, который находится в фокусе.

IAndroidElementAPI ActiveElement()

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var de = driver.ActiveElement(); // Получить элемент в фокусе

Поиск элемента по свойству content-desc.

IAndroidElementAPI FindElementByAccessibilityId(string id)

Параметры:

string id // Значение свойства content-desc.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var de = driver.FindElementByAccessibilityId("Chrome search"); // Найти элемент по свойству content-desc
if (de == null)
throw new Exception("Элемент не найден");

de.Click(); // Кликнуть по элементу

Поиск элемента по свойству class.

IAndroidElementAPI FindElementByClassName(string className)

Параметры:

string className // Значение свойства class.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var de = driver.FindElementByClassName("android.widget.EditText"); // Найти элемент по имени класса
if (de == null)
throw new Exception("Элемент не найден");

de.SendText("Привет мир!"); // Написать текс в поле элемента

Поиск элемента по свойству resource-id.

IAndroidElementAPI FindElementById(string id)

Параметры:

string id // Значение свойства resource-id.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var de = driver.FindElementById("com.android.chrome:id/title"); ; // Найти элемент по свойству resource-id
if (de == null)
throw new Exception("Элемент не найден");

var text = de.Text; // Получить текст элемента

Поиск элемента по xPath.

IAndroidElementAPI FindElementByXPath(string xpath)

Параметры:

string xpath // xPath для поиска элемента.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var de = driver.FindElementByXPath("//*[@text=\"Display\"]"); // Найти элемент по xPath
if (de == null)
throw new Exception("Элемент не найден");

de.Click(); // Кликнуть по элементу

Поиск элемента через UiSelector.

IAndroidElementAPI FindElementByUiAutomator(string uiSelector)

Параметры:

string uiSelector  // uiSelector для поиска элемента.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var de = driver.FindElementByUiAutomator("new UiSelector().textContains(\"screen\")"); // Найти элемент по UiSelector
if (de == null)
throw new Exception("Элемент не найден");

de.Click(); // Кликнуть по элементу

Поиск массива элементов по свойству content-desc.

IAndroidElementAPI[] FindElementsByAccessibilityId(string id)

Параметры:

string id  // Значение свойства content-desc.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var des = driver.FindElementsByAccessibilityId("Chrome search"); // Найти массив элементов по свойству content-desc
if (des == null)
throw new Exception("Элементы не найдены");

var count = des.Length; // Количество найденных элементов.

Поиск массива элементов по свойству resource-id.

IAndroidElementAPI[] FindElementsById(string id)

Параметры:

string id  // Значение свойства resource-id.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var des = driver.FindElementsById("com.android.chrome:id/title"); // Найти массив элементов по свойству resource-id
if (des == null)
throw new Exception("Элементы не найдены");

var count = des.Length; // Количество найденных элементов.

Поиск массива элементов по свойству class.

IAndroidElementAPI[] FindElementsByClassName(string className)

Параметры:

string className  // Значение свойства class.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var des = driver.FindElementsByClassName("android.widget.EditText"); // Найти массив элементов по имени класса
if (des == null)
throw new Exception("Элементы не найдены");

var count = des.Length; // Количество найденных элементов.

Поиск массива элементов по свойству xPath.

IAndroidElementAPI[] FindElementsByXPath(string xpath)

Параметры:

string xpath  // xPath для поиска элемента.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var des = driver.FindElementsByXPath("//*[@text=\"Display\"]");// Найти массив элементов по xPath
if (des == null)
throw new Exception("Элементы не найдены");

var count = des.Length; // Количество найденных элементов.

Поиск массива элементов через UiSelector.

IAndroidElementAPI[] FindElementsByUiAutomator(string uiSelector)

Параметры:

string uiSelector // uiSelector для поиска элемента.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var des = driver.FindElementsByUiAutomator("new UiSelector().textContains(\"screen\")"); // Найти массив элементов по UiSelector
if (des == null)
throw new Exception("Элементы не найдены");

var count = des.Length; // Количество найденных элементов.

Масштабируем экран к элементу по свойству content-desc.

void ScrollToElementByAccessibilityId(string id, int maxSwipes)

Параметры:

string id // Значение свойства content-desc.
int maxSwipes // Количество свайпов.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var countScroll = 3; // Количество скроллов
driver.ScrollToElementByAccessibilityId("Chrome search", countScroll); // Скролим до элемента по свойству content-desc

Масштабируем экран к элементу по свойству class.

void ScrollToElementByClassName(string className, int maxSwipes)

Параметры:

string className // Значение свойства class.
int maxSwipes // Количество свайпов.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var countScroll = 3; // Количество скроллов
driver.ScrollToElementByClassName("android.widget.ImageView", countScroll); // Скролим до элемента по имени класса

Масштабируем экран к элементу через UiSelector.

void ScrollToElementByUiAutomator(string uiSelector, int maxSwipes)

Параметры:

string uiSelector  // uiSelector для поиска элемента.
int maxSwipes // Количество свайпов.

Пример.

var driver = instance.DroidInstance.AppiumDriver;

var countScroll = 3; // Количество скроллов
driver.ScrollToElementByUiAutomator("new UiSelector().text(\"Display\")", countScroll); // Скролим до элемента по UiSelector