2010-03-24 4 views
1

J'ai quelques tests d'interface utilisateur Silverlight que j'automatise avec White. Ces tests sont ensuite exécutés par un agent de construction TFS, qui s'exécute de manière interactive pour pouvoir accéder au bureau.Les tests Silverlight ne fonctionnent pas sauf si la connexion RDP est ouverte

La génération réussit si j'ai une connexion Bureau à distance ouverte à l'agent de construction lors de l'exécution des tests; Je peux voir le pointeur de la souris se déplacer. Lorsque le test clique sur une navigation HyperlinkButton a lieu, et est vérifiée par la suite par des assertions dans le test.

La génération échoue si aucune connexion Bureau à distance n'est ouverte à l'agent de génération au cours de l'exécution des tests. La fenêtre Internet Explorer est créée et l'application Silverlight est chargée, mais aucun clic ne se produit; l'application reste sur la page initiale et les assertions de test échouent par la suite.

Quelqu'un a-t-il trouvé une solution à ce problème?

Répondre

0

Voir Starting a Windows service in an interactive session

Si vous configurez un service Windows, ce service peut être configuré pour fonctionner avec un bureau interactif, mais il sera en cours d'exécution en tant qu'utilisateur de la machine locale et non un utilisateur de domaine.

L'autre alternative consiste à modifier le registre pour utiliser la fonctionnalité AutoAdminLogon. Utiliser avec précaution!

HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon:

  • DefaultUserName
  • DefaultPassword
  • DefaultDomain
  • AutoAdminLogon = 1
+0

Je vais utiliser AutoAdminLogon, je pense. La machine en question est une VM bien séparée utilisée uniquement pour la construction et les tests dans l'environnement de développement. J'ai essayé de configurer le service pour interagir avec le bureau, mais ce n'est pas suffisant; alors que le service pouvait alors créer des fenêtres, White était toujours incapable d'interagir avec eux sans une session active. –

0

La réponse est le this CodePlex thread. Fondamentalement, il n'y a pas de solution. Les tests blancs doivent être exécutés par un utilisateur connecté (physiquement ou via VNC ou RDP).

Questions connexes