Использование нажатия клавиши для имитации typeText не дает желаемого результата - PullRequest
1 голос
/ 09 апреля 2019

Поскольку поле ввода на тестируемом мной сайте было создано разработчиком сайта со случайным классом, typeText не будет работать, поскольку Testcafe не распознает его как допустимое поле ввода.

В результате я пытаюсь использовать pressKey для имитации typeText для ввода строки в поле ввода.

К сожалению, результат не тот, на который я надеялся. Использование .pressKey('L P') должно привести к появлению LP в окне поиска, но вместо этого появится LPL.

Как мне решить эту проблему? Я понятия не имею, почему появляется другое L там, где его не должно быть.

Для справки, использование typeText приводит к тому, что это выдает ошибку:

Uncaught TypeError: this.ui.searchBox.val is not a function

Для дальнейшего использования селектор выглядит так:

#modals > div.selectra-dropdown > div > div.search > input[type="zax"]

Отвечая на вопрос, что, черт возьми, было "zax", разработчик сайта сказал мне, что это выдуманное имя класса, используемое в качестве обходного пути для какой-то проблемы, и я застрял с ним.

Ответы [ 2 ]

3 голосов
/ 09 апреля 2019

Вероятно, это означает, что TestCafe не может должным образом симулировать события клавиатуры для вашей страницы.Пожалуйста, создайте отчет об ошибке и предоставьте страницу и тест, который можно использовать для воспроизведения проблемы.

2 голосов
/ 09 апреля 2019

TBH, я действительно надеюсь, что вы найдете свой ответ, но из-за этого type=[zax], мне здесь невозможно помочь; но, тем не менее, вы можете упростить свой код и попробовать что-то вроде

  1. замените это здесь this.empty_lp_group_search = Selector('#modals > div.selectra-dropdown > div > div.search > input[type="zax"]'); на this.empty_lp_group_search = Selector('#modals input[type="zax"]');

  2. может быть также это this.empty_lp_group_select = Selector('#link-resources > div.modal-host > div.modal-element.modal-container > div > div.modal-body > div.form-container > div > div.lp-chooser-container > div > div > div > div > div'); с этим this.empty_lp_group_select = Selector('#link-resources div.nth(12)');; последний основан на этой ссылке здесь https://devexpress.github.io/testcafe/documentation/test-api/selecting-page-elements/selectors/functional-style-selectors.html#nth

...