滴~今日打卡!博主用了周末两天的时间终于啃完了一本selenium+python的书啦,周末是一边啃一边打代码,所以昨天没来得及把笔记整理好po上来,今天补上!所以今天更两篇blog
先看看这两天打的代码,都是比较基础的,跟着书里的内容码的
接下来就是笔记啦,这本书的内容比较浅,感觉也没太多地方有做笔记的价值,主要还是以练习代码为主,所以笔记不多也不深入
1.自动化测试模型
(1)线性测试:通过录制或编写脚本,一个脚本完成一个场景(一组完整功能操作)
优:可独立运行
缺:维护成本高
(2)模块化与类库(把脚本重复部分写成公共模块)
优:开发效率高,易维护
(3)数据驱动(参数化)(txt/csv/字典等方式,详看项目代码)
(4)关键字驱动(只考虑做什么、对谁做、怎么做)selenium IDE
2.编写自动化测试用例的原则:
(1)一个脚本时一个完整的场景,从用户登录操作到用户退出系统关闭浏览器
(2)一个脚本只验证一个功能点
(3)尽量只做功能中正想了逻辑的验证
(4)脚本间不要产生关联性
(5)如果对数据进行了修改,需要对数据进行还原
(6)在整个脚本中只对验证点进行验证,不要对整个脚本每一步都做验证
3.Python常见语句if __name__ ==”__main__”:的理解:
首先,这是一个条件语句,__name__作为模块的内置属性,就是python文件的调用方式(有作为模块被调用和直接调用两种方式);而__main__就表示直接执行。所以这语句的意思就是如果直接调用该python脚本,则执行该条件语句后的内容,否则不执行。
举例来说,在实际自动化测试脚本开发过程中,我们首先要保证单个用例文件能运行通过,怎样跑单个文件上的用例?就可以在if __name__ ==”__main__”:后编写执行用的语句。一旦这个用例文件稳定后,就需将这个用例文件添加到用例集,作为一个模块被调用,这时候,if __name__ ==”__main__”:后的内容就不会被执行。
4.
验证码处理:
(1)去掉验证码(把验证码代码注释掉)
(2)设置万能码
(3)验证码识别技术(通过python-tesseract识别图片验证码)
(4)记录cookie,绕过验证码(在用户登录之前,通过add_cookie()方法将用户名密码写入浏览器cookie,再次访问系统登录连接将自动登录)
Driver.get(‘url’)
Driver.add_cookie({‘name’:’Login_username’,’value’:’username’})
Driver.add_cookie({‘name’:’Login_password’,’value’:’password’})
Driver.get(‘url’)