最近在看 SMARTBEAR 的一些产品,除了之前熟悉的 Zephyr 系列和 Swagger,还有一款自动化测试录制工具引起了我们的注意。

前言

TestCompleteSMARTBEAR 公司旗下的 UI 自动化测试工具。作为 Windows 平台上一款 C/S 架构的图形界面工具,不但具备脚本录制功能,还支持脚本修改,甚至还可以并发执行。它让编写自动化脚本工作变得低代码化,让人更方便地测试桌面应用、网页,甚至移动端应用。

这样的工具,绝对值得尝试一下。

现在,让我们以测试一个网页为例,一步一步体验这款图形界面自动化测试工具 —— TestComplete

开始一个测试项目

双击打开 TestComplete 的应用图标,首先映入眼帘的是开始页(Start Page)。在这里可以很方便地看到官方的一些教程和例子。

点击左上角 “New” 菜单,选择 “New Project”,会弹出新建项目信息页。

定义项目名称(Project name)和项目保存的目录(Project location),由于录制脚本之后,或多或少会对脚本进行调整,因此可以选择自己熟悉的脚本语言(Scripting language)。作为一个 Web 端的测试,自然会勾选使用 XPath 和 CSS 作为页面元素的选择器(Use XPath and CSS selectors for web objects)。点击 “Finish” 即可完成项目的创建。

录制

新建的项目会以 .pjs 为后缀,连同项目名及路径,均可以在 TestComplete 界面的顶部标题可以看到。

项目会默认创建一个 “Test1” 作为第一个测试用例,点击该用例页面中的 “Record test steps” 开始录制测试步骤。

一旦 TestComplete 开始监听我们的操作,我们可以在屏幕上看到 “TestComplete Recording” 的小视窗,除了看到录制按钮(Record)被按下的状态,还可以看到其他三个按钮:暂停(Pause),停止(Stop),新增检查点(Add Check)。

现在,我们手动开始执行测试步骤:打开浏览器,并访问目标页面,在输入用户名和密码之后,点击登录按钮。

预期的状态会进入到目标页面,并展示预期的页面数据。

创建检查点

访问目标页面后,我们通常需要检查页面显示的样式或者数据是否符合预期,此时,我们需要点击 TestComplete Recording 小视窗上的 “Add Check” 按钮。

弹出一个 “Checkpoint Wizard” 的窗口,选择检查的方式。比如,我们想检查页面上的一个数据,例如这里的 “Issue created” 的 “40”,那就选择文字或属性(Text or property),点击 Next 进行下一步。

紧接着需要指定检查的元素,通常有两种方法:拖拽定位元素(Drag the target to an object),用组合键选取元素(Point and press the shortcut)

我们尝试用鼠标左键点住 “Drag the target to an object” 前面的小图标,然后把鼠标拖拽到网页上 40 的那个地方,最后松开鼠标。

“Object” 处会自动出现定位的元素的脚本路径,并在预览(Preview)窗口有图片预览。检查一下,若选择无误,点击 Next 配置检查点的最后一步。

选择用以检查的数据,属性(Properties)或者图文识别(OCR)。我们首选 “Properties” 并选择上一步选定元素期望检查的属性,比如这里我们检查其数值等于40 (contentText Equals 40)就确保其后面的 “Select” 是被勾选的。

生成测试脚本

现在,我们已经完成了一个检查点的配置,点击 “Finish” 就开始转换成脚本。

稍作等待,”Processing recorded actions…” 进度条消失,即说明转换完成。

由于我们在录制过程可能参杂了一下误操作或者不经意的点击,但录制器并不知道哪些是不需要的,只会全部进行转换。因此,我们会看到有一些我们不需要的操作,只需要选中并删除它们即可。

执行脚本

清理过的脚本变得简洁,目标性更强。在这个页面里,点击 “Run” 按钮就可以直接执行一遍这个脚本。

自动化脚本执行的时候,除了会看到刚刚我们录制时候的操作行为自动执行,还会在屏幕右上角看到一个小窗口显示项目的名称,也可以随时暂停或者结束自动化执行的行为。

测试报告

耐心等待自动化执行完毕,界面会自动打开一个关键字测试日志(Keword Test Log)标签页。我们会看到最后的检查点是一个通过(passed) 的标记。

除了本地查看这个测试报告,TestComplete 也支持导出测试报告,用以给其他人知晓,甚至还可以分享生成一个共享链接供人查看,只需要点击测试日志标签页上面的 “Share” 按钮,定义一个有效期。

共享链接可以直接打开,内容与本地日志一样。

集成

除了本职测试工作以外,TestComplete 也支持跟各种工具集成,这样就能方便地配置完整的测试生命周期。比如把测试结果上传到用例管理或者缺陷管理平台。

价格

绕不去的话题 —— 价格

TestComplete 采用阶梯定价,不但把区分用户数量,还把功能进行了拆分,因此会组合出很多种价格类型,单人年费从 $1450 到 $2540 不等,多人订阅组合套餐可以自己按需搭配,有兴趣的企业可以自行官网查询。

我们不去主观的去评判价格的高低,因此其合理性,市场才最有发言权。毕竟“价值”,对于每个人来说是不一样的。