本系列文章我们将带大家一起了解一下互联网大厂中通科技的自动化测试平台的搭建历程,从以下四个方面展开介绍:为什么要做这样一个统一的自动化测试平台?是如何做到统一的?平台上线后的收益,最后一部分会给大家分享一下他们未来的一些开发计划。
在本系列文章的最开始,先为大家介绍一下他们以前在使用的各种各样的自动化测试工具。
首先是Appium + Robot Framework的组合,做过移动端UI自动化测试的朋友应该都知道Appium,Robot Framework的使用后面也会给大家分享一下。这两个工具加上Airtest就是我们移动端UI自动化测试常见的三个工具。
后面的Selenium、Cypress和Playwright是中通科技内部做web端的UI自动化测试使用的三个工具。
通过这里大家也可以看到,中通科技内部使用了太多的测试工具,这样就容易导致在选择到底使用哪一种工具的时候会很难达成一致。
接下来给大家详细介绍一下这几个工具。
Robot Framework
首先是Robot Framework,从我们写的脚本中就能很清晰地看到,它是通过关键字去做脚本的编辑。下图是我们之前做过的一套自动化脚本,我们使用的是中文,让更多不会写自动化测试脚本的同学能够快速编写脚本。
但是它也会带来一些问题,比如等脚本的逻辑变得复杂之后,复杂度会急剧提升,导致脚本的编写门槛会再次提升。
比如图中所示,我们要写一个for循环的逻辑,它的代码量和复杂度比普通的Python或其他语言的脚本是有所提升的。
Airtest
接下来给大家介绍一下Airtest,它是网易出品的一个工具,它的优点有:跨平台、IDE 支持、扩展性好(Python 支持)和Poco支持,可以通过更复杂的脚本去支持一些复杂的逻辑。
但是它提供的IDE存在一些问题,跟通常意义上Python的IDE相比,在复杂逻辑和代码逻辑补全方面会存在一些问题。
Cypress
Cypress它提供了一些很好的功能,比如可以跑在浏览器中,使用Node.js去编写代码脚本,还可以自动去等待执行结果的反馈,不用去手动写slick逻辑。
缺点是只支持Node.js的脚本,对于很多人来说,学习一种新的语言也是有一定成本的。
Playwright
最后给大家介绍一下Playwright,这个框架是微软开发的,它支持跨浏览器、跨平台,支持多语言,也支持移动端web页面的一些测试。
后面的文章会继续为大家介绍中通科技自动化测试面临的困境,以及如何搭建了一套符合自己需求的自动化测试平台等内容,欢迎大家继续关注。
(本系列文章根据《优品软件培育计划》公益直播内容整理,可以私信我获取直播回放链接。)