雪球实战
测试策略
- 核心业务自动化
- 接口测试是否可以保证,如果可以,ui测试可以适当的弱化
- 设计用户交互的重要功能,你仍然需要使用UI自动化测试保证
PO封装
- 同一个页面,也可以使用不同的PO,类似PyPOM里的region
- 导航
- 子界面或者子div的业务封装
Log优化
2019-06-19 20:56:29
import logging
class BaseTestCase(object):
logging.basicConfig()
_log=logging.getLogger("xueqiu")
_log.setLevel(logging.DEBUG)
@property
def log(self):
return self._log
2019-06-19 21:09:27
用例设计
注册问题
- 注册最大的难点不是自动化,其实是数据准备。
- 使用mock中心,解除数据依赖,推荐办法
- 不断注册新用户,借助于运营部门批量删除测试帐号
- 完全使用测试环境,在测试环境中提供删除用户的相关接口
登录问题
- 验证码 ocr可行,但是不稳定,而且不是正确的方向
- 提高可测性,使用万能验证码,需要研发配合
- 绕过登陆直接使用cookie,就可以只需要登录一次,每次自动化都可以复用,一直持续到你退出登录cookie失效。一般是1个月才会变一次的。
- 使用微博、qq等第三方登录
cookie数据
curl 'https://xueqiu.com/setting/user' -H 'Connection: keep-alive' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' -H 'Referer: https://xueqiu.com/center/' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7' -H 'Cookie: XXXXXX' --compressed
作业
发帖功能封装,只把核心的Page封装、测试用例,断言相关的2个类的代码直接贴上来。