Я использую методы Appium, чтобы сделать снимок экрана и обрезать перикулярную часть этого снимка экрана в соответствии с координатами и размером элемента.
Способ, которым я делаю это :
Сделать снимок экрана
Это делается с помощью getScreenShotAs()
метода
Обрезать часть этого изображения
Это сделано
image.getSubimage(getElementCoordinateX(element),
getElementCoordinateY(element),
getElementWidth(element),getElementHeight(element));
public static int getElementWidth(MobileElement element) {
return element.getSize().getWidth();
}
public static int getElementHeight(MobileElement element) {
return element.getSize().getHeight();
}
public static int getElementCoordinateX(MobileElement element) {
return element.getLocation().getX();
}
public static int getElementCoordinateY(MobileElement element) {
return element.getLocation().getY();
}
Я протестировал этот подход на Android, и он работает как задумано, но на iOS он выдает совершенно другую часть скриншота, и я уверен, что это именно тот элемент, который находится.
Разработчики сказали мне, что приложения для iOS работают с фреймами и что я, вероятно, получаю координаты границ, а не координаты фрейма.Я не нашел способа взаимодействовать с ними с помощью Appium.Есть ли способ сделать эту работу, как задумано?