繁体   English   中英

Windows Service驱动的UI自动化测试

[英]Ui Automation testing driven by windows service

我正在尝试清理有关UI自动化测试的过程。

现在,我们有一个控制台应用程序,可以在使用Apache Thrift侦听RPC调用的服务器上运行,根据正在运行的测试,该应用程序将使用用户指定的浏览器(Chrome,IE,Firefox)启动Selenium或将启动我们的WPF桌面应用程序。

我的目标是允许此控制台应用程序作为Windows服务运行,用于几个目的:

  1. 不再需要用户登录服务器。
  2. 不再需要第三方应用程序来防止屏幕保护程序被激活。
  3. 将有效地允许测试在服务器场中运行,以便可以并行运行多个测试

因此,我的问题是提供了一个没有活动用户会话的服务器,并且该服务正在运行,该服务是否有可能通过Web浏览器和WPF应用程序启动Selenium并能够继续驱动它们。

如果不可能,以编程方式登录服务器该怎么办?

做到这一点的唯一方法是使用PhantomJS(或其他无头浏览器)。 Windows服务无权访问台式机上正在运行的浏览器(尽管它们曾经用于Windows XP和Windows 2000 Server时代)。 从那时起,即使您在服务上看到“与桌面交互”复选框,Microsoft仍然锁定了这些权限,但我认为它不会起作用。

同样,Selenium Grid服务器必须在远程服务器的前台运行(出于相同的原因)。 唯一的例外是,在Grid上使用PhantomJS时,您的网格服务器可以作为服务运行以启动无头浏览器。 当然,将Grid节点作为服务运行并将Grid Hub作为服务运行不是一件容易的事(使用YAJSW)进行配置,而是可以实现的。 如果您沿着那条路线走,那么您的里程可能会有所不同,因为我实际上没有尝试过。 这个想法是,您可以编写批处理DOS脚本来启动/注册YAJSW,以将网格作为服务运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM