Step1:首先介绍下python+appium的框架结构

如下截图所示

(1):apk目录主要放置待测app的apk资源;

(2):config目录主要放置配置文件信息,包含:数据库连接配置、UI自动化脚本中所需的页面元素信息及app启动信息、自动化报告邮件发送配置信息、接口请求的对应的url信息等【大家可根据待测app的功能添加或减少配置文件信息】。

(3):report目录主要放置测试完成后生成的测试报告信息;

(4):src目录下包含的目录如下

common目录:app启动方法的封装文件信息;数据库增删改查实际方法的封装文件信息;读取config配置文件中元素信息的工具类方法;日志类的封装方法;发送邮件的配置文件信息【大家可根据待测app的具体功能添加或减少公共方法类】;

functions目录:对于自动化测试过程中需要对页面元素进行获取的方法工具类的封装;

log目录:每次执行测试脚本后生成的日志信息会存放到该目录下;

runner目录:生成测试报告的公有方法的引用;自动化脚本的批量执行配置信息;

testcase目录:待测app具体的需测试功能点的测试脚本代码信息;

Step2:接下来介绍的是框架目录下每个文件的具体内容

(1):依据上面截图可对应到step1中描述的各个目录下所包含的文件的具体功能;

(2):常用的方法就不再赘述,下面将介绍几个不常见的.py文件进行具体内容的详细讲解:

 【1】config目录中的element.ini文件内容如下(主要存放页面元素信息):

上面截图中展示的是登录被测app时,需要获取到页面上的元素的信息,可以使用id,class,xpath等方法,具体的定位元素的方法可以依据待测app来选择,只要可以获取到元素信息即可(请按照截图中的格式来定义)。

【2】src目录下common目录下的appium_start文件内容如下(appium服务启动封装文件):

该文件会引用iniHelper文件对element.ini文件页面元素信息的获取信息,来获得启动时必需的参数信息,后面会具体贴出iniHelper文件的内容,建议大家动手敲下示例代码,印象会更深刻。

【3】src目录下common目录下的iniHelper文件内容如下(读取ini配置文件工具类):

该.py文件中iniHelper方法主要是获取ini配置文件中单个属性的值;

该.py文件中ini_sections方法主要是获取ini配置文件中某个功能模块所有的属性名称和对应的值,以字典的格式返回结果;

 【4】src目录下functions目录下的baseAction文件内容如下(页面基本元素获取方法的封装):

该文件内容对于页面元素定位的方法进行封装,此示例共例举了7种元素定位方法,在测试过程中如果有其他定位方法可自行添加到该方法中。

   【5】src目录下testcase目录下的app_checklist文件内容如下(具体待测功能的自动化脚本编写):

此处示例以登录功能为例,先获取登录所需元素信息,包含基本的用户名和密码、登录提交等元素信息,获取到元素信息后再对元素进行模拟操作,如:直接点击、输入测试数据、清除测试数据等操作,登录完成后需要校验是否登录成功,并记录相应的日志信息。

Step3:整体思路说明

(1):使被测功能的脚本代码更加简洁,方便维护脚本,需要将测试数据与程序进行分离;

(2):页面元素信息可以封装到配置文件中,并封装对应的读取配置文件的方法,在测试脚本需要使用时直接调用;

(3):公共方法类,如:数据库连接配置信息及对数据库进行增删改查操作时,都可以封装到公共方法中,便于维护,使用时直接引用即可;

(4):具体实际操作过程中,可以依据具体测试需求对框架作出相应的调整,目的是让脚本更加清晰化,且便于维护,易于推广给测试同行使用;

欢迎关注【无量测试之道】公众号,回复【领取资源】

Python+Unittest框架API自动化、

Python+Unittest框架API自动化、

Python+Pytest框架API自动化、

Python+Pandas+Pyecharts大数据分析、

Python+Selenium框架Web的UI自动化、

Python+Appium框架APP的UI自动化、

Python编程学习资源干货、

Vue前端组件化框架开发、

资源和代码 免费送啦~
文章下方有公众号二维码,可直接微信扫一扫关注即可。

备注:我的个人公众号已正式开通,致力于IT互联网技术的分享。

包含:数据分析、大数据、机器学习、测试开发、API接口自动化、测试运维、UI自动化、性能测试、代码检测、编程技术等。

微信搜索公众号:“无量测试之道”,或扫描下方二维码:

 添加关注,让我们一起共同成长!

Python + Appium框架原生代码实现App自动化测试相关推荐

  1. uiautomator2,一款比appium还好用的app自动化测试框架

    一说到app自动化测试,第一反应就会想到appium这个框架,和web端的selenium一样,但是对于appium来说,搭建环境非常重要,很多人都被环境搞得望而却步了,放弃了appium. 下面说的 ...

  2. Python Appium 模拟人为操作获取app数据

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.appium是什么? 二.使用步骤 1.准备环境 2.实现思路 3.项目实现 总结 前言 用appium 模拟人滑 ...

  3. 部署Python的框架下的web app的详细教程

    这篇文章主要介绍了Python部署web app的详细教程,示例代码基于Python2.x版本,需要的朋友可以参考下 作为一个合格的开发者,在本地环境下完成开发还远远不够,我们需要把Web App部署 ...

  4. python接口测试框架设计_Python3简易接口自动化测试框架设计与实现(中)

    7.Excel数据读取 用例是放在Excel中的,用xlrd来读取数据,写数据需要用到xluntils,先安装: pip install xlrd pip install xluntils 7.1.读 ...

  5. python/appium实现华为应用商城app界面上下滑动打开关闭通知栏等功能

    banner=driver.find_element_by_id('com.huawei.appmarket:id/banner_item_image') ele_size=banner.size # ...

  6. python app自动化测试框架_appium+python,app自动化测试框架

    基于appium的app自动化测试框架 基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于we ...

  7. Appium App自动化测试框架【一】

    本文为博主原创,未经许可严禁转载. 本文链接:https://blog.csdn.net/zyooooxie/article/details/113841107 2018年我开始在csdn写博客,最初 ...

  8. app自动化测试appium教程之番外1——进阶补充内容

    app自动化测试appium教程之番外1--进阶补充内容 混合app测试 1. 打开app内webview debug模式 2. 验证是否为混合app 3. 切换至H5页面 4. 切回原生app 5. ...

  9. APP自动化测试-12.Appium日志分析(原理)

    APP自动化测试-12.Appium日志分析 文章目录 APP自动化测试-12.Appium日志分析 前言 一.应用启动 二.元素定位与操作 总结 前言 以Android原生应用为例,记录使用appi ...

最新文章

  1. DeepMind发69页长文掀开AlphaZero的黑盒:神经网络学到的知识和人类基本相似!
  2. 动态规划0—1背包问题
  3. macOS Monterey值得升级吗?Monterey 与 Big Sur的对比
  4. 按键精灵定义全局变量_按键精灵中如何定义和使用变量
  5. .Net Pet Shop 4 初探之一:初识PetShop4
  6. poj-3176 Cow Bowling poj-1163 The Triangle hihocoder #1037 : 数字三角形 (基础dp)
  7. cocos2d-x关于CCTableView的“乱序问题”的理解
  8. 系统集成项目管理工程师教程 第二版下载,仅供学习交流使用
  9. 关于5G使用的新型技术小结
  10. 如何通过Flow制作简单的工作流 - 请假审批2
  11. document操作自定义属性
  12. Excel如何批量查询手机号码归属地
  13. 研究者称二维码登录劫持技术成为新社工攻击手法
  14. 数据挖掘从入门到放弃:线性回归和逻辑回归
  15. 灵性图书馆:好书推荐-《太傻天书》
  16. php spa结合,vue路由嵌套SPA的实现方法
  17. CSS中垂直居中的七种方法
  18. 2022-2028全球与中国儿童注意力缺陷和多动障碍市场现状及未来发展趋势
  19. 易语言 Visual Basic 6.0 (VB6)
  20. ubuntu20 降低python版本后 打不开终端 NO module named ‘gi’

热门文章

  1. 车站计算机系统具有自诊断功能,第五节自动检售票系统.ppt
  2. 笔记:caffe ssd gpu训练自己的数据集
  3. 西门子PLC|梯形逻辑PLC编程
  4. 帧数达不到144用144hz_为了“吃鸡”大出血 144Hz究竟是否必要
  5. python做聚类分析_Python聚类分析-摩拜用户群分类
  6. Kanzi: kanzi基础 : 使用预设件
  7. 理解AXI Quad Serial Peripheral Interface(SPI) IP核
  8. -Djava.security.egd=file:/dev/./urandom参数的作用
  9. Lisp的本质 - 从另一种角度洞悉Lisp之美
  10. xshell删除文件夹命令_XShell常用命令