WatiN UnauthorizedAccessException ошибки - PullRequest
       33

WatiN UnauthorizedAccessException ошибки

2 голосов
/ 08 ноября 2010

Я получаю ошибки UnauthorizedAccessException при запуске любых тестов с использованием NUnit и WatiN:

Test Test.IndexTests.Can_Do' failed: WatiN.Core.Exceptions.ElementNotFoundException : Could not find INPUT (hidden) or INPUT (password) or INPUT (text) or INPUT (textarea) or TEXTAREA element tag matching criteria: Attribute 'name' equals 'q' at http://www.google.com/ (inner exception: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)))
  ----> System.UnauthorizedAccessException : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    at WatiN.Core.Element.get_NativeElement()
    at WatiN.Core.Element.GetAttributeValueImpl(String attributeName)
    at WatiN.Core.Component.GetAttributeValue(String attributeName)
    at WatiN.Core.Element.get_Id()
    at WatiN.Core.Element.get_IdOrName()
    at WatiN.Core.TextField.TypeText(String value)
    Class1.cs(23,0): at Tests.Can_Do()
    --UnauthorizedAccessException
    at mshtml.IHTMLElementCollection.tags(Object tagName)
    at WatiN.Core.Native.InternetExplorer.IEElementCollection.GetElementsByTag(String tagName)
    at WatiN.Core.NativeElementFinder.FindElementsByTag(String tagName)
    at WatiN.Core.NativeElementFinder.<FindElementByTags>d__0.MoveNext()
    at WatiN.Core.ElementFinder.FindFirst()
    at WatiN.Core.Element.FindNativeElement()
    at WatiN.Core.Element.get_Exists()
    at WatiN.Core.Element.<>c__DisplayClass9.<WaitUntilExistsOrNot>b__8()
    at WatiN.Core.UtilityClasses.TryFuncUntilTimeOut.Try[T](DoFunc`1 func)

0 passed, 1 failed, 0 skipped, took 43.44 seconds (NUnit 2.5.5).

Я не могу найти что-то через Google, и мне было интересно, если у кого-нибудь была подобная проблема?

Приветствия

Ответы [ 4 ]

3 голосов
/ 08 ноября 2010

Попробуйте ответить на другой вопрос:

Попробуйте отключить защищенный режим IE или добавьте свой сайт в доверенную зону.

Проблема с разрешениями WatiN при evalкод JavaScript

2 голосов
/ 11 августа 2011

Решением для меня было удаление программного обеспечения безопасности браузера Trusteer Rapport, которое предлагает мой банк.Я забыл, что это было даже установлено.

2 голосов
/ 15 ноября 2010

Это может произойти, когда HTML загружен не полностью Вы можете добавить Sleep или добавить команду ожидания для завершения

ie.WaitForComlete();

Лучший способ - перехватить конкретное исключение и повторить попытку:

     try
     {
         //your code
     }
     catch (UnauthorizedAccessException)
     {

     }
1 голос
/ 14 ноября 2010

У меня была такая же проблема на случайных позициях в тесте. Я уже работал в доверенной зоне.

Добавление

System.Threading.Thread.Sleep(200);

на каждой проблемной локации "решил" проблему или хотя бы ее симптомы для меня. По крайней мере, я больше не получаю сообщение об ошибке и могу запустить тесты.

Кажется, это где-то состояние гонки.

...