自动化测试之路 —— Appium使用教程

这篇具有很好参考价值的文章主要介绍了自动化测试之路 —— Appium使用教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

😏作者简介:博主是一位测试管理者,同时也是一名对外企业兼职讲师。
📡主页地址:【Austin_zhai】
🙆目的与景愿:旨在于能帮助更多的测试行业人员提升软硬技能,分享行业相关最新信息。
💎声明:博主日常工作较为繁忙,文章会不定期更新,各类行业或职场问题欢迎大家私信,有空必回。

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 
 

1.目的

  当今社会,人们的生活几乎已经无法离开形形色色的APP了,它提供给我们的便利与服务意义远远超出了其本身的软件价值。作为测试来说移动应用也早已是各大互联网公司的拳头产品,其本身的开发周期短,附属产品价值高等特性决定了今后的主导地位。

  那么在日常的测试活动中,移动应用的质量保障就成为了各个测试团队的主要课题,面对高速迭代的功能、日益缩短的项目周期、逐渐庞大的人力与资源投入,以上的这些因素都会让测试团队不得不在项目中加入自动化测试策略。

  Appium作为一个自动化移动应用测试框架来说,就可以很好的满足大部分移动应用测试的需求。作为当今仍然主流的自动化测试框架,各位测试同学要熟练的使用也就成为大家日常的基本内容之一。

 
 

2.说明

  1.此笔记的中所使用的操作系统为Win 10,笔记中所涉及的软件版本有可能会因为时间的推移而导致不匹配或其他额外的操作,请大家有针对性的选择阅读与参考。
  2.这里因操作系统关系,只针对安卓与鸿蒙OS来进行教程讲解,后续会推出iOS的相关Appium安装与配置、日常使用教程。
  3.本文是使用Python语言配合Appium进行讲解,其他语言相关教程不在此做赘述。

 
 

3.接上回

  前一篇我们已经成功的配置了环境与安装Appium,服务也可以正常运行起来了。接下来就给大家展示一下日常工作中如何通过Appium开展相关工作。

 
 

4.连接设备

4.1 设置

首先将手机的开发者模式打开,不同手机的开启方法不同,这里演示的测试机为华为mate20X,其他机型的开启方法大家可以直接百度搜索。

 

进入手机的【设置】选项
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

进入【关于手机】
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

点击【版本号】7次,即可进入开发者模式
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

退回【设置】主菜单,选择【系统和更新】

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

选择【开发人员选项】

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

打开【USB调试】,如果不想每次调试都选择传输照片或传输文件的话可以打开【“仅充电”模式下允许ADB调试】
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 
 

4.2 调试

如果已经跟着前一篇文章安装完adb并配置过环境变量的话,可以直接在cmd中进行设备连接调试。

 

使用数据线连接上手机,如果跳出USB调试确认框且电脑为自己信任的设备时,选择“始终允许使用这台计算机进行调试”并确定,否则只需要点确定即可。

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

在保持连接且已经授权USB调试的情况下,调出cmd,输入adb devices

如果连接成功就可以看到你的手机deivce id
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

device id 可以在手机的【设置】中的【状态消息】可以查到。
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

如果出现device not found,优先检查手机的驱动是否安装正确,也可以到硬件管理器中去查看对应的设备驱动是否异常。
这里推荐使用adb driver installer这个软件来安装对应的设备驱动,网上很多的,随便百度一下都有下载。

 

另外如果像图中显示出现了多个设备连接,其中一个的端口是5555 的话,后续的一些操作可以指定对应的device id去进行操作,比如adb -s XXXXXX(device id) shell来进行操作。

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化
 
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 
 

4.3 参数获取

我们想要通过Appium来运行相关APP,还需要获取与其相关的几个参数。

 

appPackage:包名,在Android系统中是判断一个App的唯一标识。
appActivity:这里可以理解启动名或启动页。
platformName:设备的平台名,Android或iOS。
deviceName:设备名,这里填入刚才ADB里的device id即可。

 

以下为获取appPackage与appActivity的几种方法。

1.查看源代码

这里推荐这种方法,如果被测对象是自研的APP,直接问下对应开发同学,这两个参数的值就可以啦,省时省力。

 

2.使用ADB

在手机连接的状态下,先打开想操作的APP,之后在cmd中输入adb shell "dumpsys window | grep mCurrentFocus"即可查看对应APP的appPackage了。如果有多个设备,则需要先用adb -s XXXX shell来制定进入的设备,再输入dumpsys window | grep mCurrentFocus查看即可。

 

红框处的就是appPackage。但这里需要注意,因为你进入APP后可能会进行其他操作,所以当前APP所在的页面不一定是启动页面,所以appActivity的值不一定是对的。
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

这边我们使用monkey命令来进行appActivity的获取,使用命令adb shell monkey -p com.xxxxxxx(appPackage) -vvv 1来进行获取。

 

找到对应的appActivity名即可。
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

另外可以使用logcat来进行两者的快速查询。
首先启动你要获取的APP,接着将logcat的日志内容重定向到电脑的指定目录。adb logcat>E:/app_log.txt这样就讲日志文件重定向到了E盘根目录下,文件名叫app_log。操作完成后使用Ctrl+c结束这个命令。然后查看指定路径下的日志文件。

 

在日志文件中搜索Displayed关键字,可以直接找到appPackage与appActivity的对应值。
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

当然也还有其他很多的方法可以查看,这里仅介绍几种较为简单的获取方式作为抛砖引玉。

 
 

5.启动APP

5.1 启动Inspector

确保Appium-Server已经启动,并且连接手机。
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

然后启动Appium Inspector,一般通过Appium启动即可,如果没反应可以去官网单独安装Inspector。另外有些同学在使用了网页版的Inspector之后,点击放大镜的图标会提示如下报错:
Could not connect to server; are you sure it's running? If you are using the browser version, also ensure your Appium server has been started with --allow-cors.

解决的方法同上,在github或官网下载客户端版的Inspector,之后每次运行Appium Server之后直接启动Inspector客户端,无需再点击放大镜图标来开启Inspector。

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

启动后界面如下

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

画面自上而下,分别为:
Automatic Server:使用的为本地的服务IP与端口,用的最多的选项;
Custom Server:可以使用自定义的Appium服务,并发的时候会用到;
Select Cloud Providers:使用云服务商提供的服务;
Allow Unauthorized Certificates:代表允许使用未经授权的证书;
Use Proxy:使用代理;
Desired Capabilities:启动参数的配置;(常用项)
Saved Capability Sets:将已配置的参数进行模板保存;
Attach to Session:添加会话至。

 
 

5.2 配置Desired Capabilities

我们要启动APP就需要在Appium Inspector中填写对应APP的启动参数。
通过右边的加号来进行属性的添加
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

填入之前获取的各项参数

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

填写完成后后边会出现JSON格式的表示信息,然后点击【Start Session】即可启动APP。
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

启动时会在测试手机上安装Appiium的APP,启动完成后手机会自动打开你启动的APP,并且在Inspector上显示与APP同步的画面。

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 
 

5.3 界面说明

自左向右,依次为:
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化
Native App Mode:切换为原生APP模式;
 
Web/Hybrid App Mode:切换为混合APP模式,如果APP有内有小程序(Uni App)或者H5的话可以试试这个模式;
 
Select Elements:选择元素模式,在左侧预览窗口中鼠标的点击模式会变成元素的选取,而不是直接模拟点击的操作,类似于浏览器调试模式的Ctrl+Shift+C;
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

Swipe By Coordinates:使用坐标滑动,顾名思义,就是利用鼠标在A和B点分别进行点击,之后会根据点击的顺序与方向进行相应方向的滑动动作模拟;
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 

Tap By Coordinates:使用坐标点击,类似于现实中的点击动作,用哪点哪,同步设备与预览窗的画面;
 
Back:退回上一步,类似手机的返回按钮;
 
Refresh Source & Screenshot:刷新资源与截图,一般在Select Element模式下用的比较多一点,在元素抓取的过程中如果需要查看功能互动或页面跳转的时候可以进行画面的刷新操作,但Swipe By Coordinates与Tap By Coordinates模式下就用不太到了;
 
Start Recording:开始录制,我们可以在打开这个选项后直接对APP的预览画面进行一些操作,Appium会自动帮我们把动作转换成指定语言的相关代码;
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化
该功能不太推荐测试同学使用,特别是已经有简单代码基础的同学,它默认会使用xpath的定位方式。xpath的定位方式十分的脆弱,特别是绝对路径定位,一旦发生变化,脚本的维护就会变得十分的困难,如果一定要用,推荐使用相对路径的定位方法。
 

Search for element:搜索元素,我们可以根据各类元素的定位条件进行元素的相关搜索,方便我们快速定位。
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化
 

Copy XML Source to Clipboard:复制页面元素,可以将该页面中所有的元素信息复制。
 
Quit Session & Close Inspector:关闭会话且关闭Inspector。

 

当我们选中一个元素后,被选中的元素会显示以下选项,自左向右依次为:
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化
 

Tap:模拟点击;

Send Keys:如果为输入框的话可以使用这个选项来填写对应的内容;
appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化
 
Clear:可以对编辑框内的内容进行清除;
 
Copy Attributes to Clipboard:将选中的元素相关信息复制到粘贴板中;
 
Get Timing:获取选中的元素响应所需的时长。

appium自动化测试,自动化测试之路,appium,自动化测试,APP自动化

 
 

  以上就是一些基础的Appium操作与相关介绍,但对于日常的自动化测试工作来说,仅仅掌握这些还是不够的。下一篇我们将会使用Python+Appium来对APP进行一些自动化测试场景的操作与实践。文章来源地址https://www.toymoban.com/news/detail-780773.html

到了这里,关于自动化测试之路 —— Appium使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Appium2.0自动化规模测试APP

    最近做个项目需要测试服务端的并发性能,客户端采用安卓,接口数据采用Restul和流媒体播放。由于流媒体的接口并不清楚,所以决定采用安卓虚拟机来模拟。 正好赶上Appium2.0升级,网上的很多资料都不能用了,这里将整个环境搭建的要点记录下来与大家分享。 #1. Appium2.0的

    2024年02月08日
    浏览(50)
  • 使用 appium 进行微信小程序的自动化测试

    目录 前言: 微信小程序结构 自动化用例的调整 示例代码 后记 微信小程序是一种流行的移动应用程序,它在移动设备上提供了丰富的功能和用户体验。为了确保微信小程序的质量和稳定性,自动化测试是必不可少的一环。Appium是一个强大的自动化测试工具,可以用于测试微

    2024年02月17日
    浏览(62)
  • Appium 2安装与使用java对Android进行自动化测试

    1.1、系统要求 当前Appium2.1服务器的要求: 支持macOS、Linux或Windows操作系统 Node.js版本要求^14.17.0 || ^16.13.0 | =18.0.0 NPM版本= 8 (NPM通常与Node.js捆绑在一起,但可以独立升级) 系统要求:http://appium.io/docs/en/2.1/intro/requirements/ 1.2、安装Appium2.1服务 下载nodejs:https://nodejs.org/zh-cn/download

    2024年02月12日
    浏览(55)
  • Appium 自动化测试

    1.Appium介绍 1,appium是开源的移动端自动化测试框架; 2,appium可以测试原生的、混合的、以及移动端的web项目; 3,appium可以测试ios,android应用(当然了,还有firefoxos); 4,appium是跨平台的,可以用在osx,windows以及linux桌面系统上; 2.Appium基本原理 在Android端,appium基于We

    2024年02月01日
    浏览(47)
  • appium实现自动化测试原理

    目录 1、Appium原理 1.1、Android Appium原理图文解析 1.1.2、原理详解 1.1.2.1、脚本端 1.1.2.2、appium-server 1.1.2.3、中间件bootstrap.jar 1.1.2.4、驱动引擎uiautomator 1.2、 IOS Appium原理 执行测试脚本全过程: 1、测试脚本通过Json Wire Protocol协议以json格式将数据通过HTTP协议与appium-server之间进行

    2024年02月20日
    浏览(44)
  • appium+python自动化测试

    1、aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看apk包名和launcherActivity 2、在android-sdk里面双击SDK-manager,下载buidl-tools 3、勾选build-tools,随便选一个版本,我这里选的是24的版本 4、下载完成后:在D:androidsdkandroid-sdk-windowsbuild-tools24.0.0目录下找到aapt.e

    2024年02月10日
    浏览(45)
  • 【python+appium】自动化测试

    python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结。 首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过

    2024年02月14日
    浏览(39)
  • 一文详解!appium自动化测试

    目录 前言: Appinum前置知识 Andriod SDK 元素获取—UI Automator adb命令实践 adb常用命令 小结 Package与Activity Activity页面布局元素 monkey简介 monkey事件 操作事件简介 monkey参数 事件类参数 约束类参数 调试类参数 Monkey参数应用综合案例 Monkey脚本API简介 monkey日志管理 monkeyrunner MonkeyR

    2024年02月11日
    浏览(53)
  • App自动化测试|Appium+Python自动化测试环境搭建

    搭建过程步骤如下: 安装jdk并配置好环境变量(jdk版本1.8以上) 安装android-sdk并配置好环境变量;具体步骤见:Android Studio安装(推荐使用这种方法安装SDK) - 环境配置 - 测试人社区 安装安卓模拟器 安装node.js(官网下载安装最新版本) ;下载地址:下载 | Node.js 中文网 找到wind

    2024年02月12日
    浏览(50)
  • Appium自动化(15) - 针对 webview 进行自动化测试

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! WebView是android中一个非常重要的控件 它的作用是用来展示一个web页面

    2024年04月10日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包