python+selenium+unittest+HTMLTestRunner读取csv文件参数化登陆测试

来源:互联网 发布:debian与centos 编辑:程序博客网 时间:2024/06/05 07:52

之前尝试了Python+selenium+unittest+HTMLTestRunner(传送门)写了登陆脚本,然后又看了参数化及循环,于是决定写个参数化的登陆脚本。当然遇到问题是在所难免的,几经周折,最后还是完成了参数化脚本。所以写下本帖记录一下,方便以后查阅。现在先来分析一下脚本出现的问题,一开始脚本是这样的:


脚本构建在这里,基本算是完成了,当然完整脚本还要加上import包,还有HTMLTestRunner框架生成报告。但是脚本运行的时候,只运行了一次,后面的参数化没运行。当时好郁闷,查阅各种资料,尝试简单的for循环,发现语句没有出现问题,可就是只运行了一次。然后我就找参数化的原因(也怪自己,想看异常结果,所以参数化故意写错,而且还是第一个),结果一改正,哈哈哈~~脚本跑起来了,原来在for循环的时候,出现错误或者预期与实际不匹配,循环就会结束,不会跳转到下一循环。


想象这样肯定是不行的,测试就是确认和验证预期结果与实际结果的比较,一不对就停止循环,无法实现自动化测试。于是就开始调试脚本,最后想到抛出异常(抛出异常后,即使错误脚本也会默认pass),所以脚本加入try...except...


于是脚本被改成了这样(为了报告更直观,所以加了大量的print显示):

脚本终于完善了,又发现之前参数化的内容,少了还好,多了维护起来就很不方便了,于是有想到了python可以读取csv文件,于是将参数文件格式改成这样:


新建excel文件按(A列为用户名,B列为密码,C列为测试目的,D列为截图名称,E列为各元素id名,F列为预期值)格式写入用例内容(根据实际情况修改和变化位置),另存为逗号隔开的csv文件即可:


经过几次调整,终于一份完整的脚本写好了,以下就是完整的参数化脚本:



效果图(还是很一目了然的~哈哈哈哈~~~):


2 0
原创粉丝点击