7 способов проверить видимость элемента с помощью Appium: подробное руководство

При автоматическом тестировании мобильных приложений крайне важно проверить видимость элементов на экране. Appium, популярный фреймворк с открытым исходным кодом, предоставляет несколько методов проверки видимости элементов. В этой статье мы рассмотрим семь различных методов с примерами кода, чтобы определить, отображается элемент или нет. Давайте погрузимся!

Метод 1: isDisplayed()
Первый и самый простой метод проверки видимости элемента в Appium — использование метода isDisplayed(). Этот метод возвращает логическое значение, указывающее, виден ли элемент на экране в данный момент или нет.

Пример кода:

WebElement element = driver.findElement(By.id("elementId"));
boolean isVisible = element.isDisplayed();
System.out.println("Is element visible? " + isVisible);

Метод 2: isEnabled()
Пока isDisplayed()проверяет видимость элемента, isEnabled()определяет, включен или отключен элемент. Элемент может быть видимым, но недоступным для взаимодействия, например неактивная кнопка.

Пример кода:

WebElement element = driver.findElement(By.id("elementId"));
boolean isEnabled = element.isEnabled();
System.out.println("Is element enabled? " + isEnabled);

Метод 3: getSize()
Метод getSize()позволяет получить размеры элемента, включая его высоту и ширину. Сравнивая размеры с нулем, вы можете сделать вывод, виден элемент или нет.

Пример кода:

WebElement element = driver.findElement(By.id("elementId"));
Dimension size = element.getSize();
boolean isVisible = (size.getHeight() > 0) && (size.getWidth() > 0);
System.out.println("Is element visible? " + isVisible);

Метод 4: getLocation()
Подобно getSize(), метод getLocation()предоставляет координаты элемента относительно экрана. Если расположение элемента находится за пределами видимой области (отрицательные координаты), он не виден.

Пример кода:

WebElement element = driver.findElement(By.id("elementId"));
Point location = element.getLocation();
boolean isVisible = (location.getX() >= 0) && (location.getY() >= 0);
System.out.println("Is element visible? " + isVisible);

Метод 5: findElements()
Используя метод findElements(), вы можете искать несколько элементов, соответствующих локатору. Если возвращаемый список пуст, это означает, что элемент невидим.

Пример кода:

List<WebElement> elements = driver.findElements(By.id("elementId"));
boolean isVisible = !elements.isEmpty();
System.out.println("Is element visible? " + isVisible);

Метод 6: getText()
Иногда видимость элемента определяется его содержимым. Получая текст с помощью метода getText()и проверяя непустые значения, вы можете сделать вывод, виден ли элемент.

Пример кода:

WebElement element = driver.findElement(By.id("elementId"));
String text = element.getText();
boolean isVisible = !text.isEmpty();
System.out.println("Is element visible? " + isVisible);

Метод 7: getAttribute()
Элементы в мобильных приложениях часто имеют различные атрибуты, например «видимый» или «скрытый». Используя метод getAttribute()и проверив значение атрибута, вы можете определить видимость элемента.

Пример кода:

WebElement element = driver.findElement(By.id("elementId"));
String visibility = element.getAttribute("visible");
boolean isVisible = visibility != null && visibility.equals("true");
System.out.println("Is element visible? " + isVisible);

В этой статье мы рассмотрели семь методов проверки видимости элементов при автоматическом тестировании Appium. Используя эти методы, вы можете гарантировать точность своих тестов и обеспечить удобство работы с пользователем. Понимание этих методов позволит вам обрабатывать динамические элементы, адаптироваться к экранам разных размеров и создавать надежные системы автоматизации мобильного тестирования.

Помните, что проверка видимости элементов имеет решающее значение для надежного и всестороннего тестирования. Приятного тестирования!