带有 Windows 发布管理的 Selenium

Selenium with Windows Release Mangement

在 Microsoft Release Management 2013 中,在 Powershell Executor 步骤中我们配置了一个步骤来触发 Windows 批处理文件。这个批处理文件将在不同的服务器上执行,这也恰好是我们的应用程序服务器。作为实验,我们有一个简单的测试用例,打开 IE,访问 Google 首页 URL 并关闭浏览器,也会截屏。当我们 运行 来自 RM 的作业时,Selenium 日志显示浏览器已启动且测试成功。但是当我们检查屏幕截图时,它只是一个黑屏。所有这些 运行s 作为 Windows 服务帐户用户,与 运行ning RM 的用户相同。该用户没有登录权限。

如果我用自己的ID登录应用服务器,手动执行批处理文件,截图是正确的。 我已经阅读了几篇关于黑屏的在线帖子。人们说屏幕截图是黑色的,因为屏幕被锁定了。这是否意味着 RM Powershell 执行程序步骤必须使用其他凭据而不是服务帐户来执行?如果是,我们该怎么做?在一些建议中提到安装 VNC。这与这种情况相关吗?

我是 Windows 的新手。我主要在 Linux 系统中工作,我被要求在此处调试此问题。任何 pointers/guidance 将不胜感激。谢谢!

部署代理不运行作为交互式服务。让它直接调用 Selenium 测试会遇到很多麻烦。几年前我写了一篇 blog post 来展示我是如何做到的。基本上,您使用 Selenium hub 从代理计算机以交互方式执行测试。

我们终于成功了。

我们在批处理脚本中调用了 testNG selenium 测试。该脚本是在 Powershell Executor 任务中的 RM 中指定的。需要注意的主要一点是,在Powershell executor任务中,我们必须先有一个cd(change directory)命令来切换到Selenium脚本所在的目录。然后指定要在同一个 Powershell 执行程序任务中执行的批处理脚本的完整路径。这个 cd 命令非常重要。没有这个,批处理脚本将被执行,但其中的 selenium 步骤将不起作用。您只会在最终输出中得到一个模糊的 "configuration errors:1"。

我们使用 IE 浏览器的 AutoIT 处理网站身份验证。