目前,我正在研究自动化测试框架,该框架与Selenium Grid和Sikuli API结合使用。
我已经实现了一个包含Selenium和Sikuli功能的库,当我在同一台机器上设置我的集线器和节点时,它运行良好。但是,这与在机器上运行Selenium RC相同。
因此,为了实现并行测试,我的下一步是从其他机器启动节点并将它们注册到集线器机器。构思环境是Amazon EC2实例。
Hub:Linux box
节点:win server 2008
如果我只使用包含Selenium函数的库运行测试,它就可以正常工作。但是,我 得到错误信息
“设置了NO X11 DISPLAY变量,但是该程序执行了需要它的操作。”
我应该将DISPLAY变量导出到节点的IP地址吗?我是否需要将节点机器设置为X服务器?如果有多个实例注册到集线器机器怎么办?
对于模糊的问题感到抱歉......但是对于如何实现此框架的任何想法都表示赞赏。我正在使用selenium网格,因为有很多动作执行图形验证。如果我可以进行并行测试,那将非常有效。
非常感谢您的帮助和建议。
答案 0 :(得分:4)
有一个项目旨在为Selenium Grid提供Sikuli功能。
https://github.com/sterodium/selenium-grid-extensions
它的工作原理是在Selenium Grid集线器和节点上添加扩展。
答案 1 :(得分:1)
请参阅我的博客文章,了解将Sikuli和AutoIt等工具与Selenium Grid集成的主题。它提供了实现所述自动化的理论方法,但据我所知,还没有人实现一个可用的演示解决方案。
http://autumnator.wordpress.com/2011/12/22/autoit-sikuli-and-other-tools-with-selenium-grid/
另一方面,不确定X.11问题是如何发挥作用的,在转换为Amazon EC2部署之前,最好使用本地网络机器与Selenium Grid一起使用框架。它有助于设计和调试过程,因为EC2可能会出现自己的问题,因此您希望首先使用最简单的基本网格设置(非EC2)。