Running Watin on TeamCity

2019-01-22 20:33发布

I'm trying to run a simple Watin test through TeamCity but the Internet Explorer window is never shown as is usually is via CruiseControl.

I get an error that it can't find a text field so something is running. But i can't see what without the window.

Is there a specific change to the setup of TeamCity server that I need to do?

5条回答
ゆ 、 Hurt°
2楼-- · 2019-01-22 20:36
  1. Stop agent service. execute command: net stop TCBuildAgent from console.
  2. Run from console c:\teamcity\buildagent\bin\agent.bat start (depending on your teamcity installation path)
查看更多
祖国的老花朵
3楼-- · 2019-01-22 20:40

If you installed as a service, make sure to stop it and disable it. Then, create a .bat file with the following

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

Now just create a shortcut in your start up folder to this batch file!

查看更多
一夜七次
4楼-- · 2019-01-22 20:42

Please try this simple solution: Go to services, edit the properties of your service, select the LogOn Tab, and check the box with the label: "Allow service to interact with desktop".

Worked for me in bamboo.

Cheers, Pedro O Moleiro

查看更多
叛逆
5楼-- · 2019-01-22 20:44

Found this on another forum

All credits go to Matt Baker

For future reference to anyone who attempts to run WatiN tests automatically using TeamCity. You must start your build agent using \bin\agent.bat start and NOT as a service. WatiN requires a full UI to execute properly and it doesn't get this environment as a service. I hope this makes it easier for other people!

查看更多
我欲成王,谁敢阻挡
6楼-- · 2019-01-22 20:45

Under Account tab on the Teamcity Agent's Service property window (services.msc), check "Allow service to interact with desktop", that will allow local service account to spawn internet explorer. But you will most certainly get stuck with other stuff, like cookie blocking, password saving etc. so login as local service and fix those stuff.

Easiest way to do that is with psexec (http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx), call psexec -i -s cmd.exe so spawn a cmd running as local account, then start internet explorer at setup everything up (the privacy settings in IE for local account is extremely high).

查看更多
登录 后发表回答