2009-01-28 8 views
17

J'essaye d'exécuter un simple test Watin à travers TeamCity mais la fenêtre Internet Explorer n'est jamais montrée comme c'est habituellement le cas via CruiseControl.Exécution de Watin sur TeamCity

Je reçois une erreur qui ne peut pas trouver un champ de texte pour que quelque chose fonctionne. Mais je ne peux pas voir quoi sans la fenêtre.

Y a-t-il un changement spécifique à la configuration du serveur TeamCity que j'ai besoin de faire?

Répondre

20

trouvé sur another forum

Tous les crédits vont à Matt Baker

Pour référence ultérieure à toute personne qui tente d'exécuter automatiquement Watin tests à l'aide TeamCity. Vous devez démarrer votre agent de construction en utilisant \bin\agent.bat start et PAS en tant que service. WatiN nécessite une interface utilisateur complète pour s'exécuter correctement et n'obtient pas cet environnement en tant que service. J'espère que cela le rendra plus facile pour les autres!

+0

Est-il possible que vous pourriez donner des détails sur la façon de le faire? J'ai un serveur TC 4 fonctionnant avec plusieurs builds, dont un seul utilisera WaTiN. Pourriez-vous fournir une description plus approfondie de la façon de procéder? –

+7

ce n'est pas vrai, un service peut en effet utiliser l'interface utilisateur complète, vérifiez cette réponse: http://stackoverflow.com/questions/488443/running-watin-on-teamcity/3415992#3415992 –

+5

Si vous l'avez trouvé sur un autre forum, vous liez, c'mon! –

2
  1. Arrêt du service d'agent. exécuter la commande: net stop TCBuildAgent depuis la console.
  2. Run de la console c: \ TeamCity \ BuildAgent \ bin \ agent.bat début (en fonction de votre chemin d'installation TeamCity )
3

Si vous avez installé en tant que service, assurez-vous de l'arrêter et de le désactiver . Ensuite, créez un fichier .bat avec les éléments suivants

C: 
cd teamcity\buildagent\bin\ 
agent.bat start 

Maintenant, il suffit de créer un raccourci dans votre démarrage dossier à ce fichier batch!

20

Sous l'onglet Compte de la fenêtre de propriétés du service Teamcity Agent (services.msc), cochez la case "Autoriser le service à interagir avec le bureau", ce qui permettra au compte de service local de générer Internet Explorer. Mais vous allez sûrement rester coincé avec d'autres choses, comme le blocage des cookies, le mot de passe, etc., donc connectez-vous en tant que service local et corrigez ces problèmes.

manière la plus simple de le faire est avec psexec (http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx), appelez psexec -i -s cmd.exe donc frayer un cmd en cours d'exécution en tant que compte local, puis commencer à explorer Internet à tout installer vers le haut (les paramètres de confidentialité dans IE pour le compte local est extrêmement élevé).

+0

Cela a effectivement bien fonctionné pour moi et m'a permis de Exécutez les commandes Watin sans recourir à TeamCity à partir d'une ligne de commande. – Harv

+0

Note: pour ce travail, vous devez vraiment faire attention au commentaire de Carl sur "comme le blocage des cookies, la sauvegarde du mot de passe, etc.". Une chose à ajouter à cela est de s'assurer que vos domaines sont ajoutés aux sites de confiance. – Matt

+0

Autre chose: soyez prudent si vous utilisez CORS ... Le système local ne * ressemble * pas à votre utilisation d'IE 9. Vous rencontrerez probablement des erreurs de type «accès refusé». Je n'ai pas encore trouvé le moyen de contourner le problème. – Matt

0

Essayez cette solution simple: Accédez aux services, modifiez les propriétés de votre service, sélectionnez l'onglet LogOn et cochez la case avec l'étiquette: «Autoriser le service à interagir avec le bureau».

A travaillé pour moi en bambou.

Cheers, Pedro O Moleiro