Dans Microsoft Release Management 2013, à l'étape Powershell Executor, nous avons configuré une étape pour déclencher un fichier de commandes Windows. Ce fichier batch sera exécuté sur un serveur différent, ce qui se produit également avec notre serveur d'applications. À titre expérimental, nous avons un cas de test simple pour ouvrir IE, accéder à l'URL de la page d'accueil de Google et fermer le navigateur, une capture d'écran sera également capturée. Lorsque nous exécutons le travail à partir de RM, les journaux Selenium indiquent que le navigateur est lancé et que le test a réussi. Mais lorsque nous vérifions la capture d'écran, il ne s'agit que d'un écran noir. Tout cela s'exécute en tant qu'utilisateur du compte de service Windows qui est le même utilisateur qui exécute RM. Cet utilisateur n'a aucun privilège de connexion.

Si je me connecte au serveur d'application avec mon propre identifiant et que j'exécute le fichier de commandes manuellement, la capture d'écran est correctement capturée. J'ai lu plusieurs articles en ligne concernant l'écran noir. Les gens ont dit que la capture d'écran était noire parce que l'écran était verrouillé. Cela signifie-t-il que l'étape de l'exécuteur RM Powershell doit être exécutée avec d'autres informations d'identification au lieu du compte de service? Si oui, comment faisons-nous cela? Dans certaines suggestions, il a été mentionné d'installer VNC. Est-ce pertinent dans cette situation?

Je suis assez nouveau sur Windows. J'ai principalement travaillé sur des systèmes Linux et on m'a demandé de déboguer ce problème ici. Tous les pointeurs / conseils seront appréciés. Je vous remercie!

0
nnair900 17 janv. 2017 à 09:06

2 réponses

Meilleure réponse

Nous avons finalement réussi à faire fonctionner cela.

Nous invoquions les tests de sélénium testNG dans un script batch. Ce script a été spécifié dans RM dans la tâche Powershell Executor. Le point principal à noter est que, dans la tâche de l'exécuteur Powershell, nous devons d'abord avoir une commande cd (changement de répertoire) pour passer dans le répertoire où se trouvent les scripts Selenium. Spécifiez ensuite le chemin d'accès complet au script batch à exécuter dans la même tâche d'exécuteur Powershell. Cette commande cd est très importante. Sans cela, le script batch serait exécuté mais l'étape sélénium qui s'y trouve ne fonctionnerait pas. Vous obtiendrez juste un vague "erreurs de configuration: 1" dans la sortie finale.

Nous nous sommes occupés de l'authentification du site Web à l'aide d'AutoIT pour le navigateur IE.

0
nnair900 15 févr. 2017 à 11:26

L'agent de déploiement ne s'exécute pas en tant que service interactif. Vous allez avoir beaucoup de mal à lui faire appeler directement les tests Selenium. J'ai écrit un article de blog il y a quelques années montrant comment je l'ai accompli. Fondamentalement, vous utilisez Selenium Hub pour exécuter les tests de manière interactive à partir de machines d'agent.

0
Daniel Mann 18 janv. 2017 à 14:20