编译:TesterHome
原文标题:Best Test Automation tools in 2023
作者:Dmitry Yarygin,QA Engineer

以下为作者观点:

早在 2011 年,我的测试工程师生涯还处于起步阶段,当时已经有了用于浏览器自动化的 Selenium,每个人都在谈论测试自动化,但手工测试仍然是最重要的。

我一遍又一遍地做检查表,我知道,虽然网站的自动化是可能的,但移动应用程序是另一回事。

时间快进到 2023 年,自动化比过去有更广泛使用,即使是 WebDriver 也不像以前我认为的那样具有创新性了。在我看来,WebDriver 的主要问题有:

所以,让我们来看看现在有哪些更加 “好用” 的自动化测试工具:

TestCafe

我是 TestCafe 的超级粉丝,第一次使用它是在 2020 年初,当时我正在做一个令人兴奋的项目,它让我大吃一惊。

比如,你可以像这样用 npm 来安装这个工具

npm i -g testcafe

然后像这样运行测试:

testcafe chrome test.js

通过它测试很容易创建和维护,不需要担心超时,而且它输出的报告也很容易阅读。

唯一的缺点是,这个框架只适用于测试网站,不适用于移动测试。

Mobot.IO

现在很多的移动应用测试工具,比如 Appium,它们不能完全取代用户的行为,比如下面这些不确定性:

而 Mobot.IO 这个项目似乎要通过使用机器人在硬件上执行动作来解决这些问题。但是,在成本方面,特别是对于并行测试,还有需要慎重考虑的。

尽管如此,这是迄今为止我所看到的最具创新性的方法。

Appium

Appium 是一个开源的框架,具有类似 Webdriver 的语法,可以为移动设备(iOS 和 Android)运行测试。虽然它用起来比较好,但我还是遇到了一些问题:

不过,考虑到我们没有很多其他的移动测试工具可供选择,Appium 仍是一个很好的解决方案。

Espresso/Barista

当我们谈论 Android 测试时,有一个 Espresso 框架可用于测试。唯一的问题是,它需要集成到代码中,而不是在已经打包的 apk 文件上单独运行。

Barista 是一个建立在 Espresso 之上的框架,简化了语法,并提高了代码的可读性。

如果你所在的项目有一个原生的 Android 应用,而且也不打算推出 iOS 版本,那这个框架可能会很好地解决这个问题。

如果你所在的项目的应用是跨平台的,我认为 Appium 是一个更好的解决方案。

Jest

如果你的应用是一个 React Native 应用,那么你可能会使用 Jest 框架。像 Espresso 一样,它需要被整合到代码中。

我已经用 Jest 试验了一段时间,但因为一些事情,我又回到了 Appium,这是因为:

Playwright

这让我想起了 TestCafe,但它内置了一个很好的报告工具。从 Playwright 出来的报告真的很酷。

另外,与 TestCafe 相比,它把所有主要的浏览器都打包进去了,你可以 “开箱即用”。

Playwright 框架也让人觉得是网络测试的未来,它安装简单,有很多潜力可以集成到持续集成工具中。

WinAppDriver

说到桌面自动化,我觉得有点难过,因为目前似乎所有的焦点都转移到了移动和网络测试。

而 WinAppDriver 就是实现 Windows 应用程序的自动化的一种途径,它也是基于 Webdriver 的,这意味着平常可以使用熟悉的命令。

但这也意味着开销,因为必须维护一个运行命令的服务器,而且框架需要定期更新。

我还看到一些为 Windows、Mac 或 Linux 应用程序自动化开发新工具的倡议。

总结

我仍然对现在的自动化工具的状况不满意,因为:

总之,我期待着未来能有更多的解决方案,它很可能是基于人工智能的,几乎不需要任何代码来操作。


↙↙↙阅读原文可查看相关链接,并与作者交流