Я закончил с этим решением, это было лучшее, что я мог придумать:
private static void CheckMenu(string title)
{
Browser browser = WebBrowser.Current;
// Verify menu
WatiN.Core.List menu = browser.List("menu");
var links = menu.OwnListItems.Select(item => item.Links[0]).ToList();
Assert.That(links.Count, Is.EqualTo(2));
CheckLink(links[0], "/", "Home");
CheckLink(links[1], "/Page", "Page");
}
private static void CheckLink(Link link, string path, string text)
{
// The href value is translated to an absolute URL, gah :/
Assert.That(link.GetAttributeValue("href"), Is.StringMatching(
string.Format("[^:]+://[^/]+{0}", path)));
Assert.That(link.Text, Is.EqualTo(text));
}
По сути, я проверяю, что есть два элемента списка, и что они содержат ссылку "Главная", указывающую на "/", и ссылку "Страница", указывающую на "/Page".