Element API
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе.
Описание
IAndroidElementAPI представляет элемент пользовательского интерфейса Android в ZennoDroid (через Appium). Предоставляет свойства и методы для получения информации об элементе и взаимодействия с ним.
Свойства
Id
string Id { get; }
Уникальный идентификатор элемента (GUID).
IsDisplayed
bool IsDisplayed { get; }
Указывает, отображается ли элемент на экране в данный момент.
Rectangle
Rectangle Rectangle { get; }
Геометрия элемента (позиция и размер) в координатах экрана.
Пример.
var driver = instance.DroidInstance.AppiumDriver;
var de = driver.FindElementByXPath("//*[@text=\"Display\"]"); // Найти элемент по xPath
if (de == null)
throw new Exception("Элемент не найден");
string id = de.Id; // Получить значение свойства Id
string text = de.Text; // Получить значение свойства Text
bool isDisplayed = de.IsDisplayed; // Получить значение свойства IsDisplayed
Rectangle rectangle = de.Rectangle; // Получить значение свойства Rectangle
Text
string Text { get; }
Текстовое содержимое элемента.
Методы
Clear
void Clear()
Очищает содержимое элемента (обычно текстовое поле).
Пример.
var driver = instance.DroidInstance.AppiumDriver;
var de = driver.FindElementByXPath("//*[@text=\"Display\"]"); // Найти элемент по xPath
if (de == null)
throw new Exception("Элемент не найден");
de.Clear(); // Очисть значение поля элемента
Click
void Click()
Выполняет клик по элементу.
Пример.
var driver = instance.DroidInstance.AppiumDriver;
var de = driver.FindElementByXPath("//*[@text=\"Display\"]"); // Найти элемент по xPath
if (de == null)
throw new Exception("Элемент не найден");
de.Click(); // Кликнуть по элементу
GetAttribute
-
string GetAttribute(string name)
Возвращает значение указанного атрибута элемента (например:content-desc,class,checkedи др.).Параметры:
name— имя атрибута.
Пример.
var driver = instance.DroidInstance.AppiumDriver;
var de = driver.FindElementByXPath("//*[@text=\"Display\"]"); // Найти элемент по xPath
if (de == null)
throw new Exception("Элемент не найден");
var bounds = de.GetAttribute("bounds"); // Получить значение свойства bounds
var text = de.GetAttribute("text"); // Получить значение свойства text
GetBooleanAttribute
-
bool GetBooleanAttribute(string name)
Возвращает логическое значение атрибута (например:enabled,clickable,checked).Параметры:
name— имя атрибута.
Пример.
var driver = instance.DroidInstance.AppiumDriver;
var de = driver.FindElementByXPath("//*[@text=\"Display\"]"); // Найти элемент по xPath
if (de == null)
throw new Exception("Элемент не найден");
bool clickable = de.GetBooleanAttribute("clickable"); // Можно ли нажать на элемент
bool enabled = de.GetBooleanAttribute("enabled"); // Активен ли элемент
GetScreenshot
string GetScreenshot()
Делает скриншот области, занимаемой элементом, и возвращает его в виде строки Base64.
Пример.
var driver = instance.DroidInstance.AppiumDriver;
var de = driver.FindElementByXPath("//*[@text=\"Display\"]"); // Найти элемент по xPath
if (de == null)
throw new Exception("Элемент не найден");
var data = Convert.FromBase64String(de.GetScreenshot()); // Скриншот области элемента
using (var ms = new MemoryStream(data))
using (var bmp = new Bitmap(ms))
bmp.Save(project.Path + "element.png");
SendKeys
-
void SendKeys(string text)
Вводит текст посимвольно. Более «реалистичный» ввод, чемSendText.Параметры:
text— строка.
Пример.
var driver = instance.DroidInstance.AppiumDriver;
var de = driver.FindElementByXPath("//*[@text=\"Display\"]"); // Найти элемент по xPath
if (de == null)
throw new Exception("Элемент не найден");
de.SendKeys("ZennoDroid"); // Отправить текст элементу
SendText
-
void SendText(string text)
Вводит текст в элемент.Параметры:
text— текст для ввода.
Пример.
var driver = instance.DroidInstance.AppiumDriver;
var de = driver.FindElementByXPath("//*[@text=\"Display\"]"); // Найти элемент по xPath
if (de == null)
throw new Exception("Элемент не найден");
de.SendText("Привет мир!"); // Вставить текст в поле элемента