学习自动化测试最难的是没有合适的项目练习。测试本身既要讲究科学,又有艺术成分,单单学几个 API 的调用很难应付工作中具体的问题。
你得知道什么场景下需要添加显性等待,什么时候元素定位需要写得更加优雅,为什么需要断言这个元素,而不是另一个。你得有合适的页面控件才能练习某种操作。
现在网上关于练习自动化的文章有很多,但是可以供学习使用的练习项目却非常稀缺。有的项目操作比较简单,无法达到练习各种操作的效果。有的项目非常复杂,光熟悉业务就要半个月。
可以说,一个好的练习项目对掌握好自动化测试至关重要。练习项目的业务不应该太复杂,否则我们需要花很多时间理清业务关系。也不能太简单,否则我们无法练习到有用的技能。项目应该尽可能涵盖较多的知识点,让我们在学习过程中反复练习不太熟练的技能, 而且它最好有通用的管理权限,方便我们自己选择角色等等要求。
我推荐几个还算不错的在线练习项目,如果你苦于没有项目练习,可以去看看。
第一个项目叫 JpetStore, 网址是:
https://petstore.octoperf.com/actions/Catalog.action
这是一个电商项目,你可以在网站上购买各种宠物。常见的电商网站操作在这个项目中都可以找到,比如注册,登录,查找商品,选择商品,添加购物车,下单,查看定位,确认收货地址等等。
网站需要的个人信息并不需要真实的,付款也不需要真的付钱,并不需要担心个人信息泄漏等问题。而且这个项目由大名鼎鼎的 MyBatis 提供,使用 Spring 框架搭建, 很多 Java 开源项目都用它来举例子。
业务简单,流程清晰,操作类型丰富,几乎是完美的练习平台,非常适合练习 Web 自动化测试。
第二个项目叫 letcode,项目地址是 :
https://letcode.in/test
这是一个网页 ui 元素展示网站,列举了几乎所有流行的网页控件,如果你正在学 selenium 这样的框架,那可以赶紧用这个项目练习一下 selenium 的操作方法。比如点击、拖动、切换等常见的页面元素,在这个网站上都有现成的控件可以操作。你只需要进入首页,然后点击合适的控件,就可以进入这个控件的专题界面。
第三个项目叫 booker, 项目地址是:
https://automationintesting.online/#/
它是一个在线预定房间的项目,有点类似携程、艺龙这样的网站。你可以在网站上通过滑动选择房间,然后输入自己的信息完成房间预定。这个网站使用 RESTFul 风格的接口,你可以分析后端接口和前端的交互,对输入信息的合法性进行校验, 适合练习前后端交互和联调。
如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的接口自动化测试教程,同时在线人数到达1000人,并且还有笔记可以领取及各路大神技术交流:798478386
【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)_哔哩哔哩_bilibili【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)共计200条视频,包括:1.【接口自动化】目前软件测试的市场行情以及测试人员能力标准。、2.【接口自动化】全面熟练Requests库以及底层方法调用逻辑、3.【接口自动化】接口自动化实战及正则和JsonPath提取器的应用等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337&vd_source=488d25e59e6c5b111f7a1a1a16ecbe9a
可能很多人会说:为什么不直接用真实项目,而要用这些在线的练习项目。
首先,我还是建议能用真实项目就直接用真实项目,如果没有再考虑练习项目。你也可以在学习还不是特别熟练的时候先用练习项目上手, 熟练后再通过真实项目实战。
练习项目还有一些额外的好处:
-
没有对自动化测试工具做拦截和屏蔽,你可以直接上手 selenium 这样的工具,如果在真实项目中,很有可能被检测到,禁止通过 selenium 访问
-
对个人信息保护更直接。练习项目通过你可以随意构造自己的身份信息,不用担心自己的信息泄漏。
-
用户交互往往更简单直接。
-
质量一般没有正式项目那么高,你更容易找到 bug, 有点成就感。
当然它也有明显的不足:
-
设计会比较丑,可能会影响你的心情
-
不支持大规模的并发操作,不然会崩
-
业务逻辑比较简单,很难模拟真实的业务复杂度。
总的来说,在没有正式的项目经验前,找到一个合适的练手项目,把自己的专业知识转变成可以应用的技能,还是非常好的。希望对正在学习的同学有帮助,如果你也有很好的练习项目,欢迎和我一起分享。