打造自己的测试框架 (一)

标题

打造自己的测试框架 (一)

课程价值

测试框架的定位:

问题

为什么需要测试框架?

框架: 代码用例的抽象(UI自动化测试,appium,selenium)

appium:

  • basepage.py app.py 框架(可以复用在多个业务)
  • main.py,memberinvit_page.py, addresslist_page.py 业务层(只能用在相关业务)

抽离出框架层,有技术沉淀(底层代码)

跟其他平台进行对接(第二节课)

如果不需要平台,不需要技术沉淀

没有必要!

测试框架需要包含哪些内容

  1. 通用功能:点击,滑动点击,查找元素,黑名单
  2. 数据驱动:把操作转换为通用格式(yaml)
  3. 扩展功能:错误截图,日志,录屏…

实战

雪球 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)

  1. 将企业微信框架移动到雪球(app.py basepage.py)
  2. 基于框架进行改造:加入黑名单(去除弹窗)
  3. 基于框架进行思考
  • 装饰器扩展框架:装饰谁,fun 就是谁
  • 黑名单元素的 yaml 提取

大纲

  • 测试框架用处及价值
  • 测试框架实现

代码

https://github.com/ceshiren/HogwartsLG5

时长

90分钟

课后调查表单

https://github.com/zhangguili123/pytestDemo/tree/master/test_frame