Как сохранить последовательность символов, отправленную через метод SendKeys() через Selenium и C#

Selenium С# при вводе данных в текстовое поле для моего тестового веб-сайта позиция курсора устанавливается на середину, а вводимые данные подобны, например. 3421 вместо правильного порядка 1234.

Может ли кто-нибудь предложить хороший способ, как справиться с этим?

Я пытался использовать нажатие кнопки HOME, но это не сработало.


person nika65    schedule 23.08.2018    source источник
comment
Добро пожаловать в SO. Прочтите stackoverflow.com/help/mcve и сообщите, что вы уже пробовали?   -  person Prasad Telkikar    schedule 23.08.2018
comment
Пожалуйста, опубликуйте свой код   -  person Jayendran    schedule 23.08.2018
comment
пытался сделать это, чтобы ввести значение с помощью JS, это сработало в большинстве случаев, но все же в некоторых случаях оно вводится в неправильном порядке. Нажатие клавиши «Домой» для перемещения курсора в первую позицию перед вводом значения вообще не работало, Clear + sendKeys не работал , есть ли другой способ сместить курсор Позиция или установить значение   -  person nika65    schedule 23.08.2018


Ответы (1)


Было бы сложно предсказать реальную проблему, стоящую за непостоянством последовательного порядка последовательности символов, отправленной с помощью метода SendKeys(), в отсутствие соответствующего HTML.

Однако, если AUT (тестируемое приложение) — это JavaScript, Angular или ReactJS, согласно рекомендациям, вам нужно вызвать WebDriverWait, чтобы нужный элемент стал кликабельным, затем вам нужно вызвать Clear() и, наконец, вызвать метод SendKeys() следующим образом:

  • C#:

    IWebElement textBoxElement = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("xpath_of_HOME_key_button")));
    textBoxElement.Click();
    textBoxElement.Clear();
    textBoxElement.SendKeys("1234");
    
person DebanjanB    schedule 23.08.2018
comment
Пробовал этот способ, но, похоже, работает в нескольких случаях. Есть ли какой-либо другой способ убедиться, что значение всегда установлено правильно, поскольку большинство наших сценариев зависят от правильного ввода этого текстового поля. - person nika65; 23.08.2018
comment
@ nika65 Проверьте мой обновленный ответ и дайте мне знать о статусе. - person DebanjanB; 23.08.2018