写点什么

DevExpress 发布 TestCafe:一款智能脚本注入、流量及标记分析工具

  • 2013-09-09
  • 本文字数:1690 字

    阅读完需:约 6 分钟

DevExpress 最近发布了一款名为 TestCafe 的基于 Web 的测试框架, 它能对 Web 页面的用户界面和通过 HTML5、CSS 和 Javascript 渲染的应用进行测试。

最近 DevExpress 发布了 TestCafe 测试框架,该框架让用户使用任何基于HTML5 的浏览器在Windows、Mac 或Linux 平台上运行测试。它提供了智能脚本注入的功能,这能让开发者直接和页面的DOM 打交道并拦截用户的操作。它也消除了浏览器插件间的差异性并提供完全免费的通过jQuery 访问DOM 和浏览器的API。

TestCafe 包括一个内置的流量分析工具,它能通知用户缺失的资源,响应代码和 JavaScript 错误。它还附带一个标记分析工具,它能确保网页元素都是完整的,并且对用户可见。

为使用 TestCafe ,用户需要按下 REC 按钮,它就会在同一个浏览器窗口中加载网页。用户在每次记录的过程中将看到一个确认对话框,可以预览的操作、进行回滚和自定义元素选择器代码。TestCafe 也可以通过界面或命令行方式运行测试,还通过集成的用户界面或处理 JSON 输出的方式分析处理结果。

为了解更多关于 TestCafe 的相关情况,InfoQ 采访了 DevExpress 的 CTO Julian Bucknall

InfoQ:可以使用TestCafe**** 测试哪些类型的应用?

TestCafe 是为测试页面和 Web 应用页面的功能而设计的。如果是通过 HTML5、CSS 和 Javascript 渲染的页面或应用,TestCafe 都能测试。

InfoQ:如果TestCafe是一个基于Web**** 的测试框架的话,请解析一下下载使用它的必要性?

TestCafe 实际上由两部分组成。其中有几个部分包括了仪表板和在客户端启动测试(在任何设备上一个或多个浏览器实例)的分析组件(以及代理服务器)。还包括在浏览器中运行测试并将结果返回到服务器的客户端库。

是的,我们是可以将 TestCafe 以服务端的方式发布(本质上,我们可以“租”出测试服务),但我们认识到,大多数在 QA 环境中进行的 Web 测试都是没有连接到互联网。

在这种情况下,将服务端部分作为 TestCafe 的一部分出售是合理的。请注意,尽管命名是一样,但 TestCafe 服务端可以很容易地在提供了浏览器环境的机器上运行,或者说可以在 Web 开发人员的机器上运行。Web 开发人员可以编写并在没有连接到其他 pc 机的自己的机器和设备上运行测试。

InfoQ: 能使用TestCafe去测试Windows Forms和 ****Windows Phone 8**** 应用吗?

不能,暂时只能测试 Web 页面和 Web 应用。

InfoQ: TestCafe**** 和其他工具有什么不同之处?

其他 Web 的功能测试工具通常需要在浏览器安装特殊的插件去运行应用。服务器端和插件进行通信,同时插件尝试去控制应用。这意味着,不仅要为每一种浏览器单独编写插件,有时还要针对浏览器的不同版本编写插件。

插件在访问页面的 DOM 方面也会遇到困难,比如 DOM 中元素的是否可视、控制用户的输入等等。TestCafe 不需要插件,它向网页注入一个特殊的客户端库并完全控制整个页面。这就是为什么 TestCafe 的可以直接测试在移动设备如 iPhone 或 Android 手机中的网页,还可以捕获(报告)页面可能抛出的错误。

InfoQ: 能否在共享或者单独的托管空间中使用 ****TestCafe?

TestCafe 运行基于 node.js, 所以如果你的服务提供商允许使用 node.js,那就是可以的。

InfoQ: TestCafe仅指出和应用相关的bug还是自动纠正bug?

TestCafe 是一种功能测试工具。开发者编写(或录制)一系列的操作以及预计的结果。TestCafe 只是重复相同的动作并验证结果是否符合。如果结果是不一样的,则会报错误,但工具有无法知道什么样的改变导致了错误的结果。

InfoQ: 使用TestCafe能提高开发者的效率么?

当然可以。Web 开发人员能够为特定的网页或应用建立了一套功能测试,然后在检查过程中验证测试是否依然能通过。这样可以在产品发布前甚至在代码提交到代码库之前就可以发现缺陷,已经有许多发表的研究显示,越早发现缺陷则修复的代价(时间、金钱、精力)越小。

查看英文原文: TestCafe with Smart Script Injection, Traffic and Markup Analysis Tools


感谢马国耀对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-09-09 21:252301
用户头像

发布了 81 篇内容, 共 24.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

JS事件,你真的懂吗(捕获,冒泡)?

乌龟哥哥

10月月更

微服务的常见架构方式

乌龟哥哥

10月月更

“程”风破浪的开发者 | 关于web3.0远离银手镯比什么都重要!

王中阳Go

区块链 NFT Web3.0 10月月更 “程”风破浪的开发者

ubuntu使用apt-get安装docker

忙着长大#

Ubuntu20.04

docker数据卷使用

忙着长大#

,docker

python有哪些格式化输出的方法

芥末拌个饭吧

后端 python 3.5+ 10月月更

如何用crontab实现Python定时任务

芥末拌个饭吧

后端 python 3.5+ 10月月更

谈谈曾经做的一个测试报告平台(1)

MegaQi

Python 测试平台 10月月更

liunx:进程概念

雪芙花

c c++ 10月月更

2022年中国数字疗法市场洞察

易观分析

医疗

【愚公系列】2022年10月 Go教学课程 036-类型断言

愚公搬代码

10月月更

【ArchSummit】众安金融微服务架构演进实战

小明Java问道之路

架构 微服务 全球架构师峰会 ArchSummit 10月月更

【kafka运维】ConfigCommand运维脚本

石臻臻的杂货铺

kafka 运维 kafka运维 10月月更

如何提高Docker容器的安全性

乌龟哥哥

10月月更

数据湖(八):Iceberg数据存储格式

Lansonli

数据湖 10月月更

SAP CDS entity 中使用 @readonly 进行访问控制

汪子熙

CDS SAP abap 10月月更

在线问题反馈模块实战(十三)​:实现多参数分页查询列表

bug菌

springboot 项目开发 10月月更

C++进阶之哈希(unordered_map/set的使用及其模拟)

雪芙花

c c++ 10月月更

趁年少,多读书

暮春零贰

读书笔记 10月月更

[HCTF 2018]WarmUp题解(较为详细的)

w010w

Web CTF 每日一题 10月月更

【kafka运维】TopicCommand运维脚本(1)

石臻臻的杂货铺

kafka 运维 10月月更

Python运算符有哪些你清楚吗

芥末拌个饭吧

后端 python 3.5+ 10月月更

在线问题反馈模块实战(十五)​:实现在线更新反馈状态功能

bug菌

springboot 项目开发 10月月更

一起学习 Go 语言设计模式之设计模式概述

宇宙之一粟

设计模式 Go 语言 10月月更

git fetch&pull讲解 | Git

Appleex

git

Web3.0杂谈-#008(55/100)

hackstoic

Web3.0

HashMap 源码分析(五)

知识浅谈

HashMap底层原理 10月月更

C++精通之路:红黑树的应用(模拟实现map/set)

雪芙花

c c++ 10月月更

【web 开发基础】PHP 快速入门(7)-PHP 运算符之比较运算符详解

迷彩

10月月更 PHP基础 比较运算符

极客时间运维进阶训练营第一周作业

老曹

在线问题反馈模块实战(十四):实现在线答疑功能

bug菌

springboot 项目开发 10月月更

DevExpress发布TestCafe:一款智能脚本注入、流量及标记分析工具_软件工程_Anand Narayanaswamy_InfoQ精选文章