本篇文章分享几个接口自动化用例编写过程遇到的问题总结,希望能对初次探索接口自动化测试的小伙伴们解决问题上提供一小部分思路。
sql语句内容出现错误
空格:由于有些字段判断是变量,需要将sql拼接起来,但是在拼接字符串时没有加空格导致报错。
错误状态:打印出来就好排查啦,一看and和时间连起来了,果然是这里出错:
修改后,能够读到数据库中内容了:
sql语句格式错误
检索类型,有些需要加引号,因为sql语句包含XXXX类型,对于如上面例子中的日期类型是datetime.date,直接用qiandao = t_date 不可行。
断言返回数据的类型
判断业务状态码时需注意返回的code值类型,开发可能写int或string类型不统一,php语言int / string 区分不是很严格,而python对其有区分,所以需要结合服务端代码进行编写,如:
业务逻辑覆盖判断
某个接口逻辑,肯定在不同条件下会判断并返回不同的值,就像游戏升级一样一级一级进行判断。
在构造时我们必须首先构造其中的测试环境的条件,或者知道判断条件后,对测试环境及结果进行判断断言。
以下例子包含以上两种检查方式,这里不方便公开,对环境的构造统一先用中文注释,调用函数对应相应环境即可。
对于结果已知的注册时间天数判断在断言中进行判断。如:
需要封装api
如几天前的时间按照自然日判断还是按照时间间隔判断,换算小数保留方式封装,数据库&redis的增删改查封装等(根据实际需要),这种对于不是特别熟悉python自带哪些库的同学来说很实用。
这里最重要的一点是能够了解自己的需求,并想方法进行拆分用更细致的步骤实现。
如,当然还有对hash类型的操作等,还有重要的一点就是一定要写清注释,方便调用和其他人调用:
【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!
生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!
只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!
【软件测试技术交流(免费领取全套软件测试资料)】:320231853(备注C)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=65pe32vgWJ8F8r10MfsbRIWr5Fp2uHpG&authKey=P4vUkQEwfIqR3p%2BziCixdFYZU3Gy4OBfLRdJDBMFGl278Rh%2BaS4ZVkL%2BZxWggxKI&noverify=0&group_code=320231853