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); // Скролим до элемента по имени класса