Я тоже столкнулся с этой проблемой, и просто щелкнув текстовое поле и установив значение, я вызвал неудачные тесты, потому что в нашем приложении ASP.NET WebForms есть валидаторы, которые выполняются при возникновении события change
.Вот исходный код Расширения для WatiN:
using WatiN.Core;
namespace Project.Extensions
{
public static class WatinExtensions
{
public static void TypeTextFaster(this TextField textfield, string value)
{
textfield.Value = value;
textfield.Change();
}
}
}
Если у вас есть обработчики событий, которые запускаются, когда пользователь нажимает на textfield
, просто добавьте textfield.Click()
или textfield.ClickNoWait()
перед установкойvalue.
Запомните строку using Project.Extensions;
в начале вашего кода, чтобы включить расширения WatiN.
Теперь вы можете вызывать метод расширения:
TextField field = browser.TextField("id");
field.TypeTextFaster("the text to type");