This Stack Overflow post by MrBlueSky describes how to determine element visibility in a WatiN test case. As a convenience, here’s that code refactored as an extension method on Browser:
public static class BrowserExtensions
{
public static bool IsElementVisible(this Browser browser, Element element)
{
var command = string.Format("$('#{0}').is(':visible');", element.Id);
return browser.Eval(command) == "true";
}
}
Usage:
using (var browser = new IE("http://example.com/login.aspx"))
{
var page = browser.Page<Login>();
page.LoginButton.Click();
Assert.IsTrue(browser.IsElementVisible(page.UsernameRequiredMessage));
Assert.IsTrue(browser.IsElementVisible(page.PasswordRequiredMessage));
}



