Я хотел бы рассмотреть возможность использования метода .value =. Если он реализован так же, как и в watir, то он не вызывает никаких событий, и устанавливает значение непосредственно , а затем отправляет соответствующее событие (в зависимости от того, что, если какие-либо события отслеживаются ) такие как onKeypress. Я попытался выяснить из rdoc Watir-webdriver для текстового поля , если это различие между .set и .value = сохраняется, но то, как их описывает документ (по крайней мере, там), делает их взаимозаменяемыми .. (Джариб, можешь уточнить ???)
Потенциально вам может понадобиться сначала запустить что-то вроде onFocus, в зависимости от используемых вами элементов управления. Например, как описано в этом случае SO Устанавливая текстовое поле с маской JQuery для маски jquery, они должны были в конечном итоге запустить событие unmask, чтобы иметь возможность даже установить поле.
Это хороший пример использования методов, описанных здесь Как узнать, какие события JavaScript сработали? и в пункте SO, связанном в комментариях к этому вопросу, чтобы выяснить, какие события сработали когда вы вручную вставляете что-то в поле. (обратите внимание, что я использовал бы и мышь, и что-то вроде табуляции для перемещения между полями и установки фокуса, события, общие для этих двух методов, наиболее вероятны для элементов управления.
Я предполагаю, что у вас есть какой-то клиентский javascript, который должен проверить, что было вставлено в поле, и, следовательно, причину этого теста. Если вы используете стандартные поля HTML без JavaScript, то я бы посчитал, что этот конкретный контрольный пример практически не отличается от «тестирования браузера», поскольку поддержка вырезания и вставки в полях ввода является стандартной функцией браузера. В этом случае вы как бы «зарезервированы», и я бы не стал беспокоиться о таком тесте.