在TeamCity上运行Watin

17

我正在尝试通过TeamCity运行一个简单的Watin测试,但是Internet Explorer窗口从未像通过CruiseControl那样显示。

我得到了一个错误提示,它无法找到文本字段,所以某些东西在运行。但是没有窗口我看不到。

我需要对TeamCity服务器的设置进行特定更改吗?

5个回答

20

在Teamcity代理服务属性窗口的帐户选项卡下(services.msc),勾选“允许服务与桌面交互”,这将允许本地服务账户生成Internet Explorer。但是您肯定会遇到其他问题,例如cookie阻止、密码保存等等。因此,请以本地服务身份登录并解决这些问题。

最简单的方法是使用psexechttp://technet.microsoft.com/en-us/sysinternals/bb897553.aspx)。调用psexec -i -s cmd.exe以作为本地账户生成运行cmd,然后启动Internet Explorer来设置所有内容(本地账户的IE隐私设置非常高)。


这对我来说实际上很有效,并使我能够在不借助命令行运行TeamCity的情况下运行Watin命令。 - Harv
注意:为了使这项工作顺利进行,您真的需要注意卡尔关于“如cookie阻止、密码保存等”的评论。还有一件事要补充,就是确保您的域名已添加到受信任的站点中。 - Matt
另外一件事:如果您正在使用CORS,请小心……本地系统不喜欢您在IE 9中使用它。您很可能会遇到“访问被拒绝”类型的错误。我还没有找到解决方法。 - Matt
你为什么不将服务的登录用户更改为系统上的本地用户? - Marc Durdin

20

我在一个其他论坛上发现了这个问题。

所有的功劳归于Matt Baker。

对于任何试图使用TeamCity自动运行WatiN测试的人,在此留作参考。 你必须使用\bin\agent.bat start来启动你的构建代理,而不是作为服务。 WatiN需要完整的UI才能正确执行,而服务环境无法提供这样的环境。 我希望这能让其他人更容易使用!


你能否详细说明如何做到这一点?我有一个运行多个构建的TC 4服务器,其中只有一个将使用WaTiN。您能否提供更详细的操作步骤? - brady gaster
7
这不是真的,一个服务确实可以使用完整的用户界面(UI),请查看此答案:https://dev59.com/e3RB5IYBdhLWcg3w2613#3415992。 - Carl Hörberg
@Ruben:或者你也可以直接谷歌搜索“Matt Baker Watin”,拜托啦!:) http://devnet.jetbrains.net/message/5259538 - Wiebe Tijsma
@Zidad 然后你可以将你轻松找到的内容编辑到上面的答案中,以节省其他人的麻烦,哇嘿! - Ruben Bartelink
@Ruben,这些人不再给我编辑权限了 :) - Wiebe Tijsma
@Zidad 懒人网络已经解决了这个问题 - 现在看起来非常好,谢谢 :D - Ruben Bartelink

3
如果您安装了服务,请确保停止并禁用它。然后,创建一个包含以下内容的 .bat 文件。
C:
cd teamcity\buildagent\bin\
agent.bat start

现在只需要在启动文件夹中创建一个指向该批处理文件的快捷方式即可!

2
  1. 停止代理服务。在控制台中执行命令:net stop TCBuildAgent。
  2. 从控制台运行c:\teamcity\buildagent\bin\agent.bat start(根据您的TeamCity安装路径)。

0
请尝试这个简单的解决方案: 进入服务,编辑您的服务属性,选择登录选项卡,并勾选标签为“允许服务与桌面交互”的复选框。
在我的竹子中有效。
祝好, Pedro O Moleiro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接