标题
打造自己的测试框架 (一)
课程价值
测试框架的定位:
问题
为什么需要测试框架?
框架: 代码用例的抽象(UI自动化测试,appium,selenium)
appium:
- basepage.py app.py 框架(可以复用在多个业务)
- main.py,memberinvit_page.py, addresslist_page.py 业务层(只能用在相关业务)
抽离出框架层,有技术沉淀(底层代码)
跟其他平台进行对接(第二节课)
如果不需要平台,不需要技术沉淀
没有必要!
测试框架需要包含哪些内容
- 通用功能:点击,滑动点击,查找元素,黑名单
- 数据驱动:把操作转换为通用格式(yaml)
- 扩展功能:错误截图,日志,录屏…
实战
雪球 app
caps = {}
caps["platformName"] = "android"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["noReset"] = "true"
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
self.driver.implicitly_wait(5)
- 将企业微信框架移动到雪球(app.py basepage.py)
- 基于框架进行改造:加入黑名单(去除弹窗)
- 基于框架进行思考
- 装饰器扩展框架:装饰谁,fun 就是谁
- 黑名单元素的 yaml 提取
大纲
- 测试框架用处及价值
- 测试框架实现
代码
https://github.com/ceshiren/HogwartsLG5
时长
90分钟