#appium #robotframework
#appium #robotframework
Вопрос:
Мне нужно протестировать эту форму входа в систему на эмуляторе iOS, но когда я пытаюсь вставить текст в элемент, '//input[@name="email"]'
текст вставляется, однако, когда я выбираю элемент, '//input[@name="password"]'
текст из первого элемента исчезает, то же самое происходит при нажатии на '//div[@id="react-component-login-header']//button/div/span[1]"
элемент.
Я думаю, что проблема связана с тем, как текст вводится в форме, поскольку при использовании Selenium2Library (для рабочего стола) этой проблемы нет.
Есть другой способ, как я могу вставить текст в поле? У меня нет никаких проблем с использованием других библиотек или созданием ключевых слов на Python для вспомогательных тестов (уже сделано в других тестах).
Я уже пробовал с:
-
Ввод текста
-
Вводимое значение
-
Введите пароль (я знаю, но мне нужно было попробовать что-то еще)
*** Settings ***
Library Dialogs
Library AppiumLibrary
*** Variables ***
${defaultTimeout} 15s
*** Test Cases ***
TC001
[Setup] Configuration
Start Test
Wait Until Page Contains Element //*[@id='age-gate-yes'] ${defaultTimeout}
Click Element //a[@id='age-gate-yes']
Wait Until Page Contains Element //a[@href="/profile"] ${defaultTimeout}
Click Element //a[@href="/profile"]
Wait Until Page Contains Element //input[@name="email"] ${defaultTimeout}
Click Element //input[@name="email"]
Input Text //input[@name="email"] johndoe@john.doe
Click Element //input[@name="password"]
Input Text //input[@name="password"] JohnDoe123
Click Element //div[@id='react-component-login-header']//button/div/span[1]
Wait Until Page Does Not Contain Element //div[@id='react-component-login-header']//button/div/span[1] ${defaultTimeout}
[Teardown] End Test
Я вижу, что текст записывается в поле, но когда контекст этого элемента теряется, текст тоже.
Комментарии:
1. я не понимаю, как вы пытались ввести текст. вы можете попробовать метод SendKey() .
driver.findElementById("element id").sendKey("your text")
2. Я попытался использовать ключевое слово для ввода текста из AppiumLibrary: AppiumLibrary. Ввод текста //input[@name=»email»] johndoe@john.doe
3. Вы пробовали метод SendKey() ?
4. Извините, что спрашиваю, но в какой библиотеке есть этот метод? Я уже пробовал библиотеку SendKeys, но без успеха она вводится на моем рабочем столе, а не на виртуальной машине или эмуляторе.
5. это определено в org.openqa.selenium.remote
Ответ №1:
Для Android я решаю проблему, используя ключевое слово «AppiumLibrary.Нажмите код ключа»
Например, отправка «AppiumLibrary.Нажмите код 67 » Мне удалось отправить пробел
https://developer.android.com/reference/android/view/KeyEvent.html