web自动化
1、自动化原理:
自动化测试是把以人为驱动的行为转化为机器执行的过程
自动化用例
机器执行
需求变动不频繁、项目周期长、自动化测试脚本可重复使用
2、web自动化要做什么?
回归验证测试内容,也就是p1等级的流程,主要流程的和重要功能点的测试用例
电商用例:
登录、注册、搜索、加购物车、结算、下单、支付、发货、物流、退款、营销活动、收货地址、余额、积分兑换等
Po设计模式
将要测试项目所有页面对象化
将每一个用例封装成一个可以调用的函数或者方法
注意事项:
用例要尽量独立
图片上传:input 和 file 可以使用send_keys
定位元素:
no such element 没有找到这个元素,可能原因:
1、加载未完成就执行了,要使用time.sleep(1)
2、子页面,也就是iframe,要切换到子页面中
隐式等待:
每隔一秒钟找一次元素,如果找到了就继续运行,如果超过10s没有找到,就no such element
self.driver.implicitly_wait(10)
显示等待:
就是等待你 需要的元素出现就可
如果隐式等待都找不到这个元素,那么显示等待也一定找不到,这时候只能使用固定等待
time.sleep(1)
隐式等待和显示等待的原理是一样的
隐式等待就是你要找哪个元素,就会去触发,显示等待就是要等待这个元素,等多久,出来了再执行下一步,否则报错。
关键字驱动理念:
将测试用例步骤封装成函数,这个函数就是关键字
将常用功能封装成函数,这个函数就是关键字,--一般使用这个
数据驱动
什么是数据驱动:
- 黑盒测试也称功能测试或数据驱动测试
- 数据驱动不是参数化,但可以使用参数化实现
- 以数据驱动程序运行,包括程序需要的数据和程序运行逻辑等
为什么使用数据驱动:
如果你不想又变回功能测试去写用例(虽然是自动化用例)就要完善数据驱动
web自动化
1、自动化原理:
自动化测试是把以人为驱动的行为转化为机器执行的过程
自动化用例
机器执行
需求变动不频繁、项目周期长、自动化测试脚本可重复使用
2、web自动化要做什么?
回归验证测试内容,也就是p1等级的流程,主要流程的和重要功能点的测试用例
电商用例:
登录、注册、搜索、加购物车、结算、下单、支付、发货、物流、退款、营销活动、收货地址、余额、积分兑换等
Po设计模式
将要测试项目所有页面对象化
将每一个用例封装成一个可以调用的函数或者方法
注意事项:
用例要尽量独立
图片上传:input 和 file 可以使用send_keys
定位元素:
no such element 没有找到这个元素,可能原因:
1、加载未完成就执行了,要使用time.sleep(1)
2、子页面,也就是iframe,要切换到子页面中
隐式等待:
每隔一秒钟找一次元素,如果找到了就继续运行,如果超过10s没有找到,就no such element
self.driver.implicitly_wait(10)
显示等待:
就是等待你 需要的元素出现就可
如果隐式等待都找不到这个元素,那么显示等待也一定找不到,这时候只能使用固定等待
time.sleep(1)
隐式等待和显示等待的原理是一样的
隐式等待就是你要找哪个元素,就会去触发,显示等待就是要等待这个元素,等多久,出来了再执行下一步,否则报错。
关键字驱动理念:
将测试用例步骤封装成函数,这个函数就是关键字
将常用功能封装成函数,这个函数就是关键字,--一般使用这个
数据驱动
什么是数据驱动:
- 黑盒测试也称功能测试或数据驱动测试
- 数据驱动不是参数化,但可以使用参数化实现
- 以数据驱动程序运行,包括程序需要的数据和程序运行逻辑等
为什么使用数据驱动:
如果你不想又变回功能测试去写用例(虽然是自动化用例)就要完善数据驱动