Selenium 2 (Webdriver) неправильно передает данные моей формы Asp.Net - PullRequest
0 голосов
/ 04 ноября 2011

Итак, я написал тест, который заполняет форму, сохраняет (в инструменте администратора), а затем публикует.

Однако моя форма теряется между щелчком сохранения и щелчком публикации. Я бы показал, как выглядит форма в HTML, но она довольно большая (примерно 20-30 полей)

В коде psuedo заполнение формы выглядит так:

1) Заполните форму с помощью выпадающих 2) Нажмите кнопку Сохранить - сохраняет все данные формы. 3) Нажмите кнопку публикации

Когда я приостанавливаю сценарий, чтобы увидеть, что происходит в селене, я вижу, что форма заполнена правильно. Затем я вижу, что кнопка «Сохранить» правильно нажата. Когда я приостанавливаю экран перед нажатием кнопки «Опубликовать», я вижу, что содержимое, которое я сохранил после нажатия кнопки «Сохранить», было потеряно или находится в неправильных полях.

Когда я делаю это вручную, он работает правильно. Я знаю, что селен отправляет формы не так, как обычный пользователь, однако могу ли я что-то сделать для того, чтобы убедиться, что форма отправляется правильно?

1 Ответ

0 голосов
/ 04 ноября 2011

Что на самом деле делает кнопка Save?Это Javascript или простая кнопка `?

Используете ли вы интерфейс C # для веб-драйвера Selenium?Вероятно, у вас есть код, который выглядит примерно так:

FillInForm();
selenium.click(By.CssSelector("input[value='Save']"));
selenium.click(By.CssSelector("input[value='Publish']"));

Вы пытались вставить между save и publish такие строки:

// further up: By saveButton = ...
// By formField = ...

selenium.click(saveButton);
var formField = selenium.FindElement(formField);
Assert.That(formField.GetAttribute("value")
    .contains("The text you typed into the form")
);

Суть здесьпроверка того, что save действительно делает то, что говорит на банке.Как правило, когда вы просите WebDriver «нажать» на кнопку, он делает именно (более или менее) то, что делает пользователь.В качестве альтернативы вы можете внедрить некоторый javascript для принудительной отправки формы - но тогда вы явно не проверяете, что на самом деле делает пользователь (но вы можете обнаружить, что он ближе к тому, что вы испытываете).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...