2015-05-29 4 views
0

Когда IEDriver пишет текст в поле, он делает это символом по символу. То же самое происходит с Chrome, но Firefox одновременно отправляет все символы. Подход IE и Chrome работает медленнее.IEDriver, C#, изменение задержки между символами в sendKeys

Не только это, иногда IE и Chromedriver не отправляют всех персонажей. И если текстовое поле, в котором они взаимодействуют, имеет автозаполнение, автозаполнение может прерывать поток символов и пропускать символ.

Возможно ли изменить задержку между символами в IEdriver (на самом деле, поставить его в ноль)? Не хром, нид. Я использую iedriver 32bits, и я не забочусь о философии «char by char делает больше, чем senz, lol».

ответ

0

Вы можете написать обертку JS для ввода текстовых полей

IWebDriver driver; 
IJavaScriptExecutor js = driver as IJavaScriptExecutor; 
js.ExecuteScript(string.Format("document.getElementById("{0}").value={1};", yourLocatorStr, yourText)); 

Это должно быть самым быстрым подходом. Кроме того, вы можете использовать разные профили при выполнении тестов, когда автозаполнение выключено.

+0

В сложных текстовых полях (например, в Dojo) этот подход не работает. – pfernandez

Смежные вопросы