J'exécute des tests de navigateur IE automatisés en utilisant Watin 2.1.0. Ils fonctionnent correctement sur ma machine locale mais je suis en train de les amener à courir sur ma machine de construction de TeamCity, mais je reçois cette erreur lorsque les tests sont exécutés au même point particulier dans chaque essai:Les tests Watin ne fonctionnent pas sur la machine de construction TeamCity
System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
Le trace de pile complète:
at mshtml.HTMLWindow2Class.IHTMLWindow2_execScript(String code, String language)
at WatiN.Core.Native.InternetExplorer.IEUtils.RunScript(String scriptCode, String language, IHTMLWindow2 window)
at WatiN.Core.Native.InternetExplorer.IEUtils.RunScript(String scriptCode, String language, IHTMLWindow2 window)
at WatiN.Core.Native.InternetExplorer.IEElement.GetJavaScriptElementReference()
at WatiN.Core.Native.InternetExplorer.IEFireEventHandler.CreateJavaScriptFireEventCode(NameValueCollection eventObjectProperties, String eventName)
at WatiN.Core.Native.InternetExplorer.IEFireEventHandler.FireEvent(String eventName, NameValueCollection eventProperties, Boolean noWait)
at WatiN.Core.Native.InternetExplorer.IEElement.FireEvent(String eventName, NameValueCollection eventProperties)
at WatiN.Core.Element.FireEvent(String eventName, Boolean waitForComplete, NameValueCollection eventProperties)
at WatiN.Core.Element.FireEvent(String eventName)
at WatiN.Core.Element.Focus()
Je ne suis pas exactement sûr de ce qui se passe ici. Le compte utilisateur sur lequel les tests sont exécutés est un administrateur et j'ai défini les sites utilisés comme sites de confiance dans les paramètres IE. Je suis sûr que c'est un paramètre dans TeamCity que j'ai manqué car ils travaillent localement mais pas sur le serveur de construction TeamCity.
Toute aide serait appréciée.
EDIT: Nous avons trois agents Team Ville exécutant plusieurs projets avec un comme l'hôte Ceci est l'onglet Connexion d'un des agents de construction qui ne sont pas l'hôte:
Le La case "Autoriser le service à interagir avec le bureau" est cochée, mais les Watins ne fonctionnent toujours pas.
Sur la machine hôte:
Cependant, les Watins ne fonctionnent pas sur cette machine soit. Les Watins exécutent également IE en tant que processus utilisant un compte d'utilisateur différent. Ainsi, l'agent de compilation s'exécute sous le compte d'utilisateur "A" et, dans le cadre des tests watin, IE est exécuté sous un compte d'utilisateur "B".
Cette information pourrait être plus pertinente pour trouver une solution. Merci!
Comment faire? – Ben
Accédez à votre gestionnaire de services (start -> run -> services.msc) sur la machine sur laquelle l'agent de build est en cours d'exécution. trouver le service "Team City Build Agent", ouvrez les propriétés. Dans l'onglet "Connexion", cochez "Autoriser le service à interagir avec le bureau", appliquer les modifications – kcamp
La case "Autoriser le service à interagir avec le bureau" a déjà été cochée. Voulez-vous dire un-vérifier cela? – Ben