Я пытаюсь заставить WatiN работать с MSpec в VS2010, используя TestDriven.Net.Мой код выглядит следующим образом:
[Subject("Whatever")]
public class when_on_home_page {
private static IE browser;
Establish context = () =>
browser = new IE();
Because of = () => {
browser.GoTo("http://localhost:1234/");
browser.WaitForComplete();
};
It should_show_add_details_link = () =>
browser.Link(Find.ByValue("Add Details")).Exists.ShouldBeTrue();
}
Когда я запускаю это, браузер загружает страницу, но когда он проверяет ссылку, я получаю:
Независимо от того, когда включендомашняя страница
»должна отображать ссылку« Добавить подробности »(FAIL)
Проверка« должна показать ссылку «Добавить подробности» »: System.UnauthorizedAccessException: доступ запрещен.(Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED)) в mshtml.IHTMLElementCollection.tags (объект tagName) в WatiN.Core.Native.InternetExplorer.IEElementCollection.GetElementsByTag (String tagNleEIgnate.NeF)..Core.NativeElementFinder.d__2.MoveNext () в WatiN.Core.ElementFinder.FindFirst () в WatiN.Core.Element.FindNativeElementInternal () в WatiN.Core.Element.get_Exists () NavigationSpecs.cs (20,0) в:RoboWeb.Specs.when_on_home_page. <. Ctor> b__2 () в Machine.Specifications.Model.Specification.InvokeSpecificationField () в Machine.Specifications.Model.Specification.Verify ()
Посмотрев вокруг,Я проверил следующее:
- VS работает от имени администратора
- TestDriven.Net запускает все в режиме STA, по-видимому
- В IE отключен «защищенный режим»
- Я не могу добавить сайт в доверенные сайты, предположительно, потому что он работает локально
- Я вызываю WaitForComplete(), а также пробовал Thread.Sleep ()
Я тоже пробовал это с FireFox, но это просто вылетает.
Есть идеи, что я здесь не так делаю?