Можем ли мы идентифицировать кнопку, используя одинаковые координаты x и y для iPhone и iPad, используя Appium?

Я хочу реализовать здесь тестовую функцию, мне нужно щелкнуть элемент, основанный на координатах x и y. Вместо того, чтобы использовать операторы if else для iPhone и iPad, я могу использовать одни и те же координаты x и y как для iPhone, так и для iPad.

То же самое касается телефона Android и вкладки

Там в любом случае?


person user2805845    schedule 03.11.2019    source источник


Ответы (1)


Вы можете получить ширину и высоту устройства и выполнить один и тот же код для обоих (iPas и iPhone).

Dimension dimens = driver.manage().window().getSize();
double xCoordinate = dimens.getWidth() * 0.5; 
double yCoordinate = dimens.getHeight() * 0.5;
//you may have to cast these values to int

Например, используя эти значения в кране:

driver.tap(1, xCoordinate, yCoordinate, 1000);

приведет к тому, что Appium будет касаться середины экрана одним пальцем в течение 1000 миллисекунд для всех устройств.

person ivaishali    schedule 04.11.2019
comment
Привет, Вайшали, Спасибо за ответ. Я спрашиваю, хотите ли вы щелкнуть / коснуться кнопки с координатами x и y, как сделать то же самое на iPhone и iPad, используя одну и ту же строку кода? Является ли это возможным? - person user2805845; 11.11.2019
comment
Для этого вы можете рассчитать координаты по указанным вами X и Y. Для записи координат X и Y вы должны применить соответствующую логику, на которую вы хотите нажать. - person ivaishali; 13.11.2019
comment
Извините, это становится немного сложно понять. Если мой iPhoneX имеет 187 X 406 в качестве координат x и y, а iPad имеет 512 X 683, как я могу запустить ту же функцию касания? - person user2805845; 14.11.2019