При автоматическом тестировании мобильных приложений крайне важно проверить видимость элементов на экране. 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. Используя эти методы, вы можете гарантировать точность своих тестов и обеспечить удобство работы с пользователем. Понимание этих методов позволит вам обрабатывать динамические элементы, адаптироваться к экранам разных размеров и создавать надежные системы автоматизации мобильного тестирования.
Помните, что проверка видимости элементов имеет решающее значение для надежного и всестороннего тестирования. Приятного тестирования!