Как «нажать» и / или «нажать» кнопку с помощью Appium / webdriverio?

Как «нажать» и / или «нажать» кнопку с помощью Appium / webdriverio?

Я пытаюсь после запуска моего приложения выполнить действие касания / нажатия на элемент кнопки, используя селектор XPath. Это гибридное приложение (нативное некоторые веб-просмотры).

У меня возникли проблемы, так как документы для Appium, кажется, вводят в заблуждение (потенциально).

getDriver ():

  const driver = await remote({ capabilities: { platformName: 'IOS', browserName: 'mobileOS', deviceName: config.deviceName, securityToken: config.securityToken, app: 'PUBLIC:my-app.ipa' }, hostname: config.hostname, path: config.path, port: config.port, logLevel: config.logLevel }); 

Вот как я могу получить драйвер и запустить его. Это запустит устройство и откроет приложение, которое я устанавливаю.

Я пытаюсь выполнить касание или нажать или щелкнуть действие:

 const el = driver.$('//*[@name="MyButton"]'); driver.touchPerform([ { action: 'press', options: { element: el } }, { action: 'release'} ]); 

Я получаю ошибку: запрос не выполнен из-за java.util.LinkedHashMap не может быть приведен к java.lang.String

или же

 const el = driver.$('//*[@name="MyButton"]'); driver.touchPerform( { action: 'tap', options: { element: el } } ); 

Я получаю сообщение об ошибке: Ошибка при получении WebDriver: неверный тип для параметра «действия» команды touchPerform Ожидаемый: объект [] Фактический: объект

Изначально я следую этому документу: http://appium.io/docs/en/commands/interactions/touch/tap/ и / или http://appium.io/docs/en/commands/interactions/touch/touch -perform /

Теперь я могу понять, почему touchPerform (нажатие) может не работать из-за его указания на других документах, что он может потенциально использовать только x, y.

Но кран — это то, что сбивает меня с толку. Если я оберну объект, я отправлю в driver.touchPerform в массиве, например, так:

 const el = driver.$('//*[@name="MyButton"]'); driver.touchPerform([ { action: 'tap', options: { element: el } } ]); 

Я получаю ту же ошибку, что и предыдущая: Запрос не выполнен из-за java.util.LinkedHashMap не может быть приведен к java.lang.String

У меня вопрос, использую ли я неправильный выбор или сенсорное событие, чтобы нажать кнопку на мобильном устройстве?

Я также пробовал http://appium.io/docs/en/commands/element/actions/click/ метод, и когда я пытаюсь это сказать мне driver.$(..).click() is not a function

Любая помощь очень ценится.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector