问题
I have a few Silverlight UI tests that I'm automating with White. These tests are subsequently run by a TFS build agent, which is running interactively so it can access the desktop.
The build passes if I have a Remote Desktop connection open to the build agent as the tests are run; I can see the mouse pointer moving around. When the test clicks on a HyperlinkButton navigation takes place, and is subsequently verified by assertions within the test.
The build fails if I do not have a Remote Desktop connection open to the build agent as the tests are run. The Internet Explorer window is created and the Silverlight app loads, but no clicks happen; the application remains on the initial page and test assertions subsequently fail.
Has anyone out there found a solution to this problem?
回答1:
See Starting a Windows service in an interactive session
If you are setting up a windows service, that service can be set to run with an interactive desktop, though it will be running as a local machine user and not a domain user.
The other alternative is tweaking the registry to use the AutoAdminLogon feature. Use with caution!
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon:
- DefaultUsername
- DefaultPassword
- DefaultDomain
- AutoAdminLogon = 1
回答2:
The answer is on this CodePlex thread. Basically there is no solution; White tests must be run by a logged-in user (either physically, or via VNC or RDP).
来源:https://stackoverflow.com/questions/2504626/silverlight-tests-not-working-unless-rdp-connection-open