使用GUI进行自动化网站测试

19

如何通过GUI进行网站的自动化前端测试是最佳方式?

我需要编写测试模块来测试整个网站,可以使用GUI自动化地执行用户在网站上的操作。

我已经使用了Mocha来测试代码,但它没有提供GUI。


1
你是否正在寻找一款基于GUI的自动化测试工具,可用于自动化网站测试?我不确定我是否正确理解了你的问题。 - Paresh
3个回答

9
值得一提的是 Selenium Webdriver。这个框架是最流行的用于功能测试网络应用程序之一。
以下是Webdriver的最显着特点:
- 直接调用浏览器API - 支持众多浏览器 - 可以使用不同的编程语言(如Java、C#、Python等)开发自动化测试 - 可以在“无头”模式下执行测试 - 成熟而有效的Webdriver API,允许您处理像警报、AJAX交互、文件上传等许多的类似操作。
你还会发现很多第三方应用和服务(如BrowserStack)与Selenium Webdriver紧密集成,并且可以毫不费力地与之集成。
最后但并非最不重要的是Selenium Webdriver的社区:它庞大而专业,使您能够快速获取答案。
您可以在官方网站上找到有关Webdriver的更多信息,也可以浏览相关博客

3
如 Viktor 所指出的,Selenium Webdriver 通常是首选工具。 根据我的经验,最好不要直接使用 Selenium,而是通过一个包装器来使用。这些包装器可以处理与网络异步性相关的烦人的时间问题。好的包装器有: 大多数包装器还有另一个好处,就是可以轻松地用其他 webdriver(如 Watir 或 Watin)替换 selenium webdriver,如果需要的话。
WebdriverJS 可以很好地与 Mocha 配合使用,但如果你正在使用 Angular,你可能会看看 Protractor,它将所有工具很好地结合在一起。
出于性能原因和易于在测试机器上部署的考虑,你应该看看基于 Webkit 的无头浏览器 PhantomJS更新:Pareshkumar 的评论让我想到了一些事情。如果你正在寻找一个 GUI 来启动测试,而不是测试你的网站的 GUI,那么你要寻找的搜索词是 testrunner。例如,Testem 就是一个 testrunner,它既有 cli,也有 gui。你应该寻找 cli 支持以启用持续集成。

1
+1给你@Jörg Reichardt,因为包装器有时也很方便。当然,这取决于您要在哪些任务和环境/平台上进行测试。 - Viktor Malyi

0

非常好的选择是使用基于Python的机器人框架和Selenium服务器/WebDriver。

你需要:

Python 2.7安装

Robotframework(最新稳定版本)

Selenium服务器

Robotframework作为测试运行程序和结果收集器。Selenium库将Robotframework与Selenium服务器(或WebDriver)连接起来。

要编写测试用例,有一个很好的IDE-RIDE。

Robotframework是一个非常好的工具,用于测试应用程序的GUI部分,但是通过自定义的第三方库,您可以测试各种场景 - 数据库、HTTP、SOAP等。

有关更多文档,请访问- robotframework.org


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接