使用Web站点GUI进行自动化前端测试的最佳方式是什么?
我必须编写测试模块,使用GUI自动测试整个网站,用户可以在网站上做任何事情。
我使用mocha来测试代码,但它不提供GUI。
值得一看Selenium Webdriver。
该框架是web应用程序功能测试中最受欢迎的框架之一。
以下是Webdriver最显著的功能:
- 直接调用浏览器API
- 许多受支持的浏览器
- 有机会使用不同的编程语言开发自动化测试:Java、C#、Python和其他
- 能够在"无头"模式下执行测试
- 成熟高效的网络驱动程序的API允许您处理许多类似警报,AJAX交互,文件上传和其他
您还会发现,许多第三方应用程序和服务(如browserstack)都与SeleniumWebdriver进行了紧密集成,并准备开箱即用地与之集成。
最后但并非最不重要的是Selenium Webdriver的社区:它庞大而专业,可以让您快速获得答案。
你可以在官方网站上找到更多关于Webdriver的信息,也可以浏览与之相关的博客。
正如Viktor所指出的,Selenium Webdriver通常是要使用的工具。根据我的经验,最好不要直接使用Selenium,而是通过包装器使用。这些包装器处理了网络异步性带来的乏味的时间问题。好的包装是:
- WebdriverJS(Javascript)
- 水豚(红宝石)和
- Coypu(C#)
如果需要的话,大多数包装器都有一个额外的好处,那就是可以很容易地用其他的(例如Watir或Watin)来替换硒网络驱动程序。
WebdriverJS与Mocha配合得很好,但如果您使用Angular,您可以看看Protractor,它将所有工具很好地结合在一起。
出于性能原因和在测试机器上轻松部署的原因,您应该看看PhantomJS,这是一款基于Webkit的无头浏览器。
更新:Pareshkumar的评论让我思考。如果您正在寻找启动测试的GUI,而不是测试网站GUI的方法,则您正在寻找的搜索词是testrunner。例如,Testem是一个testrunner,它同时具有cli和gui。您绝对应该寻求cli支持,以实现持续集成。
非常好的选择是使用基于python的机器人框架和selenium server/webdriver。
您需要什么:
Python 2.7安装
Robotframework(最新稳定版本)
- 附带:一套标准库
- 要测试GUI安装-硒库([selenium2library3可选)
Selenium服务器
Robotframework充当测试运行程序和结果收集器。硒库将robotframework与硒服务器(或网络驱动程序)连接起来。
要编写测试用例,有很好的IDE-RIDE。
- 安装wxPython 2.8
- 安装机器人车架
Robotframework是测试应用程序GUI部分的非常好的工具,但使用自定义的第三方库,您可以测试各种场景——数据库、http、soap等等
欲了解更多文档,请访问robotframework.org