使用GUI的自动网站测试



使用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

最新更新