Python3学习笔记_web自动化基础十一_20200728
By
能够减少错误
能够提高可读性
比如:
login_btn_locator1 = {"by":"class name", "value":"btn-special"}
改写成:
login_btn_locator1 = {"by": By.CLASS_NAME, "value": "btn-special"}
登录未授权(测试用例)
toast弹窗的定位元素: 断点调试
在F12的模式下,切换到tab:sources ,
然后执行该情况的用例,执行后点击pause script execution,
暂停后进行元素定位
注意事项:
通过隐式等待是可以等待元素被加载
但是元素被加载并不表示里面的动态文办内容能被获取到
解决:
1、通过显示等待visible
2、text文件定位,也需要用显示等待的
3、强制等待把握好时间
web 自动化测试用例实现的流程
1、先准备前置后置,conftest
2、编写测试步骤,测试用例的函数的注释
登录未授权
测试步骤:
1、登录页面输入用户名
2、登录页面输入密码
3、登录页面点击登录
4、登录页面获取未授权信息
注意:如果有要用到的方法还没有定义,就到登录页面的对象中封装这个方法,然后再回来调用
写明页面是因为方便封装方法的时候能找到在哪个页面
3、根据测试步骤封装页面行为
4、调用页面行为,获取实际结果
5、断言
等待
显示等待
expected_conditions.visibility_of_element_located(locator)
这里的 locator 格式是元组,字典是不支持的,其实列表也是OK的,
因为Python不做强制的类型要求,只要满足要求就行
因为Python是动态类型的语言,没有办法对类型进行检查
复杂用例的前置和测试步骤
不一定非要采用web自动化实现前置条件
测试步骤:
1、前置条件:登录()
-有余额
-有标可以投
可以通过接口,可以通过修改数据库,可以手工充值,可以手工加标,只要能满足前置条件就行
-每次你在执行之前都自动充值或者加一次标
-一次性满足条件
2、首页:点击抢投标
3、投标详情页:输入投标金额,获取实际结果
4、投标详情页:获取结果