首页 > 其他分享 >详解appium自动化测试工具(monitor、uiautomatorviewer)

详解appium自动化测试工具(monitor、uiautomatorviewer)

时间:2023-12-18 15:02:31浏览次数:29  
标签:appium monitor app caps desired 应用 测试工具 dex2jar


appium 是一个自动化测试开源工具,支持iOS和 Android平台上的原生应用,web应用和混合应用。

  • 移动原生应用:单纯用ios或者android开发语言编写的、针对具体某类移动设备、可直接被安装到设备里的应用,一般可通过应用商店获取,比如某个游戏app;
  • 移动web应用:使用移动浏览器访问的应用(appium支持iOS上的Safari和Android上的Chrome),不需要下载到设备上,而是通过浏览器直接访问,比如H5九曲封神游戏;
  • 混合应用:同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用,比如手机上的淘宝客户端

获取应用信息:

from appium import webdriver
desired_caps ={}
desired_caps['platformName']='Android'# 哪种移动平台
desired_caps['platformVersion']='4.2' #设备版本号
desired_caps['deviceName']='Android Emulator' #设备是模拟机
desired_caps['appPackage']='com.android.calculator2' #待测试的app的java package
desired_caps['appActivity']='.Calculator' #待测试的app的activity名字
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #

讨论:webdriver.Remote实际上就是原生webdriver的子类,另外Remote()构造函数的第一个参数中需要显示指定appium server监听的端口

1、monitor.bat(获取app的package&activity)

该文件位于your_andriod_sdk_path\tools下面。

该工具可以帮我们找到android控件的content-description,为以后的find_element_by_accessibility_id 定位方法做参数使用。

详解appium自动化测试工具(monitor、uiautomatorviewer)_appium

2、uiautomatorviewer.bat(获取app的package和控件属性)

该文件位于your_andriod_sdk_path\tools下面。

该工具主要用来查看控件的属性,比如resource id,class name等。

该工具也可查看被测app的appPackage(Desired Capabilities中使用)。

详解appium自动化测试工具(monitor、uiautomatorviewer)_软件测试_02

3、获取activity名字

1、直接看源码,推荐;

2、反编译

如果没有代码,那么可以反编译该app。

这里将用到2个工具,分别是dex2jar和jd-gui。

以工具包里的ContactManager.apk为例,简单介绍一下反编译的流程。

1,重命名ContactManager.apk为ContactManager.zip并解压得到文件classes.dex;

2,解压dex2jar-0.0.9.15.zip,并从命令行进入该文件夹;C:\appium\apk反编译\dex2jar-0.0.9.15

3,运行命令d2j-dex2jar.bat  C:\appium\apk反编译\com.meijialove.activity-1\classes.dex,在当前文件夹下得到classes-dex2jar.jar;

4,解压jd-gui-0.3.6.windows.zip得到文件jd-gui.exe;

5,使用jd-gui.exe打开classes-dex2jar.jar;

详解appium自动化测试工具(monitor、uiautomatorviewer)_接口测试_03

3、查看log,发现在Android Devices Monitor的log可以看到activity的名字

详解appium自动化测试工具(monitor、uiautomatorviewer)_测试工具_04

标签:appium,monitor,app,caps,desired,应用,测试工具,dex2jar
From: https://blog.51cto.com/u_15333581/8873896

相关文章

  • vs code调试appium-adb项目记录
    一、前言因为使用appium的时候发现一个问题,最后定位在是appium-adb执行的时候processExists函数时出现的问题。因此需要对appium-adb进行断点调试以及修改。appium-adb项目是使用javascript和Typescript写的,所以也就是对js项目的调试。因为第一次接触js,很多东西一步步摸索过来的......
  • App测试工具记录
    使用到的工具模拟器androidstudio总体来说好用,有多个版本可选细分好,可以指定任意的android版本.坏处是有自己的网关无法使用和主机一致的网段genymotion好用,创建的手机性能高,没有上面的网段问题,但是需要注册,有账号就可以爽用.有付费内容App自动化工具appiumin......
  • 关于使用appium自动化启动app时报错【问题:AttributeError: ‘NoneType‘ object has n
    报错原因:安装了最新版的appium3.0.0和selenium的最新版本,导致版本冲突从而导致报错:AttributeError:'NoneType'objecthasnoattribute'to_capabilities'解决方案:卸载selenium和appium,下载低版本的appium【下载appium的同时会下载依赖selenium】 pipinstall......
  • DAMON: Data Access MONitor 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/index.htmlhttps://www.kernel.org/doc/html/v6.6/mm/damon/index.htmladminguideDAMON(轻量级数据访问监控)DAMON是一种轻量级数据访问监控工具。使用DAMON,用户可以分析系统的内存访问模式并进行优化。入......
  • 一篇文章带你掌握性能测试工具——Jmeter
    一篇文章带你掌握性能测试工具——Jmeter在目前的中大型企业中,仅仅进行功能测试已经不足以满足企业的需求,在重大客户基数下性能测试将会直接影响到用户体验所以在这篇文章中我们将会学习性能测试的相关知识以及常用工具Jmeter我们将会从以下角度进行介绍:性能测试基础信息性......
  • Appium Android自动化测试配置
    1.首先需要在Android手机上安装3个apk文件https://github.com/appium/appium-uiautomator2-server/releases(2个apk文件)上面这2个apk文件若是不安装的话,打开AppiumInspector会一直loading,没有元素显示;https://github.com/appium/io.appium.settings/releases安装appiumg......
  • 渗透测试工具
    序号工具名称用途下载链接1Xray1.XSS漏洞检测(key:xss)2.SQL注入检测(key:sqldet)3.命令/代码注入检测(key:cmd-injection)4.目录枚举(key:dirscan)5.路径穿越检测(key:path-traversal)6.XML实体注入检测(key:xxe)7.文件上传检测(key:uploa......
  • 我们开源了一个 Ant Design 的单元测试工具库
    我们是袋鼠云数栈UED团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:佳岚欢迎大家点一个小小的Star......
  • Apache Bench(ab 压力测试工具)的安装与使用
    1.ab安装下面介绍在liunx和windows上的安装1.1、linux yum 安装yuminstallhttpd-tools或者yum-yinstallhttpd-tools测试安装是否成功:[root@vichtml]#ab-VThisisApacheBench,Version2.3<$Revision:655654$>Copyright1996AdamTwiss,Zeus......
  • 不用编程超简单的自动化测试工具:Airtest入门篇教程
    一、背景很多刚入行或从其他行业转行做测试的同学,日复一日每天做点工已经点得疲惫和麻木,觉得做测试和在厂子里打螺丝没太大区别。也想着做一做自动化测试,奈何自己看着代码就头痛,当初就是因为不喜欢编程才选择的做测试。亦或者由于从其他行业转行过来的,隔行如隔山,编程太痛苦。那......