android应用程序的移动测试自动化框架

mtaf的Python项目详细描述


功能

< DL> MTAF检查员: > UL>
  • 帮助设计Android设备端到端测试的图形工具
  • 适用于Android设备模拟器,或通过USB连接的Android设备
  • 交互确定屏幕元素的有效定位器,用于 AppII
  • 当不存在appium服务器时,使用adb抓取屏幕截图和xml
  • 与appium服务器一起使用时,查找并操作可见屏幕 元素
  • 在日志文件中记录Appium交互
  • 加载插件以扩展特定的菜单、zpath和gui元素 应用程序(请参见https://github.com/mccrorey48/mtaf_plugins" rel="nofollow">https://github.com/mccrorey48/mtaf_plugins示例)
  • MTAF库模块(Python):
    > UL> < DL> ADB
    对于从python使用adb,pyand( https://github.com/ardevd/pyand ) 包括adb模块(避免了"pip install"的问题 识别托管在github上的模块)
    < DL>
    硒作用
    定义使用硒方法的硒化类
    < DL>
    Android操作
    定义用于使用Appium Python客户端方法的AndroidActions类 < DL>
    iOS操作(未来)
    定义iosactions类以使用appium python客户端方法 < DL>
    安卓路径
    定义用于将android xpath转换为zpaths的缩写,a 短格式,使使用定位器更加容易
    < DL>
    iOS路径(未来)
    定义用于将ios xpath转换为zpath的缩写 < DL>
    过滤器.py
    用于缩小返回的屏幕元素列表的筛选函数 通过appium python客户端搜索方法
    < DL>
    MTAF日志记录
    pythonmtaf_日志的包装器
    < DL>
    修剪日志
    用于限制保留的时间戳日志的数量和/或期限的实用程序
    < DL>
    跟踪
    decorators formtaf_记录方法调用和返回值
    < DL> <使用>R_异常
    为测试代码中的正常异常处理定义userexception类 < DL>
    软电话(未来)
    创建和管理SIP软电话,以便拨打和接收测试电话 支持语音通话的设备
    页面对象模型(未来):
    > UL>
  • 被测应用程序显示的每个可见视图(称为"页面")。 有一个python类,该类包含该页的定位器,以及 在显示该页时调用
  • 页面上可见元素的定位符是表示 元素的函数
  • 每个页类都表示定位器名称的单独命名空间,以便 名称可以在其他页面上重复使用而不发生冲突
  • 测试步骤通常通过调用属于 当前页的类,这些方法从定位器获取定位器 属于其类的命名空间
  • 当页共享公共页时,它们可以从公共基页类继承 元素和功能;在本例中,方法和定位器是 从基类继承,除非在当前页类中重写
  • python单元测试(未来):
    > UL>
  • 测试套件类是使用python unittest模块构造的 惯例
  • custommtaf_日志记录和使用decorators的方法调用跟踪
  • python特性测试(未来):
    > UL>
  • 使用python"behave"框架
  • 测试用"feature"文件编写,使用小黄瓜bdd语言
  • 功能文件以功能/场景/步骤格式描述测试,使用"纯语言"短语描述用户与应用程序的交互
  • 测试步骤短语是用python实现的
  • 测试结果保存在MongoDB数据库中,并可使用Web浏览器进行查看
  • 报告单页应用程序(未来):
    > UL>
  • angularjs应用程序显示由python特性测试保存的测试结果
  • 欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


    热门话题
    java如何在表被注释到配置之前获取表的元数据?   java滚动条不会出现在JList上   java JOGL监视器GPU内存   java为什么要使用RecyclerView onDraw延迟   java定制Oppo Reno 2 Z CPH1951(手机型号)的固件(闪存文件)   java自定义线程池执行器   java如何解决发布版本中重复的jar条目[com/安卓/volley/R.class]?   java如何使用Bukkit API触发事件?   java在blazemeter jmeter RTE插件中使用ctrl+w输入   C#/Visual Studio的java JDT等价物   java为什么当maxread值很大而收到的消息数量很小时,卡夫卡消费者会无限期消费?   java游戏2。x:包含模板列表的绑定模型   带压缩的java日志旋转   运行时。exec用java运行程序读取它正在做什么