Я пытаюсь учитывать «выбранные варианты» в моем сценарии автоматического тестирования. Я использую webdriver.io и со ссылкой на информацию последующих API: http://webdriver.io/api.htmlПроблемы с webintriver.io async - щелчок по элементу, а затем ввод текста
мне нужно нажать на «a.chosen-сингл», который в «выбранном» мире равно пользователь, нажав на выбор. Это фокусирует пользователя на текстовом вводе (который позволяет пользователю фильтровать через параметры выбора, поэтому почему выбрано круто), и мне нужно затем смоделировать пользователя, вводящего текст.
Проблема заключается в том, что скрипт, который я написал, приводит к нажатию всех выбранных-selects и THEN вводят ключи. Это означает, что текст вводится только в окончательный выбранный выбор.
Я вставил паузу() после нажатия на элемент. Я ожидаю, что пауза произойдет после каждого щелчка, но вместо этого пауза происходит только в конце, когда нажимается последний элемент, и все ключи набираются в конце, так что последний элемент имеет значение 'FIL12 '
this.click(container + ' a.chosen-single').then(function(){
console.log('clicked');
console.log('value', fields[selectName]);
this.pause(1000)
this.keys(fields[selectName])
//press enter to finalize selection
//.keys('\uE007')
console.log('keys pressed');
});
Вот считанный я получаю в терминале:
clicked
value F
keys pressed
clicked
value IL
keys pressed
clicked
value 1
keys pressed
clicked
value 2
keys pressed
Я не могу понять, как гарантировать, что следующая задача не ставятся в очередь до тех пор, нажатия клавиш не будут введены , Пожалуйста помоги.
Спасибо, вы правы, когда пауза возвращает обещание. Однако я все еще не решил свою проблему. Я работаю над этим и обновляю свой вопрос, как только выясню это. – mags