appium简介
- Appium 是一个开源的、跨平台的测试框架,可以用来测试 Native App、混合应用、移动 Web 应用(H5 应用)等,也是当下互联网企业实现移动自动化测试的重要工具。
- Appium、Appium-desktop、Appium Client 的区别是 Appium 体系的核心,因为它本身也是一个 web 接口服务,所以也会被成为 appium server,对外默认开启包括 4723 等多个端口。
- Appium-Desktop:是为了让 Appium 能够更好用,让小白入门更容易,让调试和界面分析更方便,官方开发了 GUI 的工具 Appium-desktop。
- Appium Client:Appium 只是一个 Web 接口,他接受 HTTP 请求,所以各个语言都可以自己封装发送请 求,于是就有 appium 下的各个子项目。以下是各语言对 Appium Client 做的支持。
设计思路
框架采用python3 + appium + PO + yaml + ddt + unittest等技术编写成基础测试框架,能适应日常测试工作需要。
- 1、使用Page Object模式将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),一个页面建一个对象类,提高用例的可维护性;
- 2、使用yaml管理页面控件元素数据和测试用例数据。例如元素ID等发生变化时,不需要去修改测试代码,只需要在对应的页面元素yaml文件中修改即可;
- 3、分模块管理,互不影响,随时组装,即拿即用。
测试框架设计
- 应用接口层主要是封装基础类、操作及查找类、测试用例、测试数据等,封装的类来自于底层接口
- 业务层面主要是封装对象页面类,一个页面建一个类,业务层页面继承基础层
- 测试用例针对产品各页面功能进行构造摸拟执行测试
- 框架层提供基础组件,支撑整个流程执行及功能扩展,给用例层提供各页面的元素数据、用例测试数据,测试报告输出等
- 执用测试用例之前,会自动在后台运行appium服务进程,并同时后续自动执行用例,无需手工操作appium工具运行服务
- 框架支持Jenkins持续集成
测试框架目录结构
测试框架思维导图
如要编写测试用例脚本,只需在Pages、testcase、testdata、testyaml等目录创建即可。
测试结果展示
- 自动生成的日志文件记录信息,除记录执行用例过程日志,还会同时记录 appium中间件通信交互日志。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取