Я использую SpecFlow + WatiN + nunit.framework для построения тестов BDD для .net
Я хотел бы проверить следующие функции на HTML-странице:
Scenario: Change user role from 'Admin' to 'User'
Given I have logged in
And I am on the 'Add new user' page
Then the 'Homepage' should not be visible
When I select 'Role' as 'User'
Then the 'Homepage' should be visible
Это сценарий, в котором некоторые свойства зависят от роли пользователя. У администратора нет домашней страницы, а у пользователя есть. Итак, на странице есть соответствующий javascript, чтобы показать / скрыть это.
Обновление: я сделал следующий метод:
[Then(@"'(.*)' (should|should not) be visible")]
public void ThenElementShouldBeVisible(string elementName, string should)
{
var element = WebBrowser.Current.Elements.First(Find.ByLabelText(elementName));
Assert.That(should == "should"
? element.Style.Display == "none"
: element.Style.Display != "none");
}
Но мне кажется, что объект браузера не обновляет стиль элементов после того, как Javascript завершил работу.
Я не уверен, как проверить, виден ли элемент или нет, используя SpecFlow.
.net
, поскольку я считаю, что для этого потребуется какой-то.net
язык. - person Jared Farrish   schedule 28.05.2012