WebAii - проблема, возникающая при вводе текста в поле ввода на веб-странице
Шаги выполнены
1. Откройте веб-страницу, где данные должны вводиться программно
2. Получил экземпляр элемента, передав элемент Id.
3. Вызвать функцию SetText в экземпляре Actions в классе ArtOfTest.WebAii.TestTemplates.BaseTest, передав элемент и textToSet.
Ожидаемое решение
Текст необходимо вводить в текстовое поле всегда.
Фактический вывод
Текст не всегда вводится в текстовое поле. Иногда вводится правильно, а иногда и пропускается без ввода значения. При отладке заметил, что экземпляр элемента извлекается правильно и вызывается функция SetText, а исключения не генерируются. Когда значение не введено, повторное задание элемента управления в верхней части функции и повторное его выполнение приведет к установке значения в текстовом поле.
Кто-нибудь может сказать мне причину этого странного поведения? Пожалуйста, дайте мне знать, если требуется более подробная информация.
1 ответ
Ваше описание звучит как проблема времени. Так как тестовые сценарии обычно выполняются очень быстро, они могут обогнать ваше веб-приложение. Если ваш тест выполняется во время отладки (т. Е. Работает медленно или пошагово), но периодически проваливается при запуске на полной скорости, вы почти наверняка столкнетесь с проблемой синхронизации. Ваше веб-приложение может быть не готово к вводу текста, когда ваш тестовый скрипт пытается передать в него данные, что является очень распространенной проблемой, если ваше веб-приложение выполняет обратную передачу AJAX. Самый простой способ преодолеть такую проблему - добавить фиксированную задержку перед вызовом SetText. Более продвинутый метод заключается в том, чтобы отслеживать некоторые свойства или элементы, содержащиеся в вашем веб-приложении, чтобы определить, когда оно готово для ввода, и дождаться его установки. Как только это свойство будет правильно установлено, вызовите функцию SetText.
Служба технической поддержки Cody Telerik