Как отправить ключи на вход Ionic 4 с помощью Appium? - PullRequest
0 голосов
/ 27 декабря 2018

Я использую Ionic 4 (бета) и не уверен, что лучший (/ самый простой) способ - отправить ключи в поле ввода с помощью Appium.

Ионный HTML-код:

<form>
    <ion-item>
        <ion-label position="floating">E-mail</ion-label>
        <ion-input [formControl]="email" id="sign-in-email-input" type="email" autofocus="true"></ion-input>
    </ion-item>
</form>

В моем тесте на аппиум я хочу отправить ключи на этот вход.Я заметил в инструментах разработчика Chrome, что под ионным входом Ionic создает собственный вход, который находится в тени.Итак, после некоторого поиска в Google, я иду следующим образом:

email = driver.find_element_by_id('sign-in-email-input')
jsCommand = "return arguments[0].shadowRoot.querySelector('input');"
emailNative = driver.execute_script(jsCommand, email)
emailNative.send_keys('test@test.com')

Но команда send_keys выдает «StaleElementReferenceException: Message: Элемент больше не присоединен к DOM».

I 'я обхожу это, выполнив:

email = driver.find_element_by_id('sign-in-email-input')
jsCommand = "arguments[0].shadowRoot.querySelector('input').value = 'test@test.com';"
driver.execute_script(jsCommand, email)

Это, кажется, сначала работает (я вижу, что значение появляется в симуляторе IOS).Но когда фокус перемещается в другое поле, значение исчезает.

Как правильно отправить ключи с Appium на вход в Ionic 4?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...