采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,晚上好,请问我们的接口自动化测试中数据驱动都是用excel去驱动嘛?后面的课程有其他驱动方式吗,在实际的项目应用中,是需要数据使用完毕以后进行销毁的,这种怎么处理哈,比如,一个新建会员接口,可能会存在几个表中,或者数据库和mongodb都有,这种如何处理,我想每次执行完以后,数据全部销毁,防止数据冗余,这种如何处理哈?
这种确实是典型场景,但不算数据驱动范畴。数据驱动其实主要指包括流程和测试输入以数据体现。你这个情况其实是脚本初始化和场景销毁的工作,也就是junit里beforeclass,afterclass。这里可以在afterclass中写销毁脚本:比如清理数据库的sql语句。通常做法beforeclass里准备初始化数据,比如创建一个测试环境库和相关数据,自动话执行完毕afterclass清理掉这个库
感谢老师这么晚回复问题。其实做这么久一直纠结的就是这个数据冗余处理的问题,一直没有好的方法去处理。我在实际项目中遇到的是,我们测试组就只有一套测试环境,系统搭建的话,有mysql,mongodb,redis。问题是在只有这一套环境的情况下,如何做到清理冗余数据,就像你说的,在after中写清理脚本,也没问题,可是实际比这个要复杂,比如还是新建会员,实际中,这个会员是分表设计的,可能在会员_1,也有可能在会员_2表中,这种都是随机,或者我新建一套环境,只有接口自动化测试一个用,这种用完立刻drop掉,是能解决实际问题,但是在很多公司应该是都是一套测试环境的情况下,如何去做呢?
比较好的做法,比如要做持续集成,自动化测试环境和数据最好都是动态创建的,保证数据和环境的稳定性。 至于你说的情况,确实也很普遍,功能测试、性能测试、自动化测试可能都是共用的环境,这样确实会引入互相干扰的风险,最好还是推动环境独立。但是一定需要共用的话,可能就要麻烦点,通过抓取log等记录你脚本创建的数据记录去向,或者就是loop循环判断数据所在,直到清理完成。当然如果接口本身也提供了删除的接口,也可以直接通过接口来清理,保证下次创建不出现重复即可。当然这种方式不如直接清理数据库来得彻底。
非常感谢老师的回答和帮忙解疑。
登录后可查看更多问答,登录/注册
使用当前新版Postman、Junit5、RestAssured,从入门到精通实战学习接口自动化测试
826 1
796 4
753 8
834 8
900 7