【appium】appium自动化入门之API(上)

news/2025/1/16 5:44:37/

这个系列预计会讲启动APP—元素定位—初步使用—API命令详解
本系列没提过的知识点也不用急,大家可以点击文末小卡片进群来一起交流

目录
第 2 章 初步使用
2.1 启动 app(淘宝)
前言
2.1.1 下载 aapt
2.1.2 获取 apk 包名
2.1.3 获取 launcherActivity
2.1.4 写脚本
2.1.5 运行 appium
2.1.6 最终代码如下
2.2 元素定位 uiautomatorviewer
前言
2.2.1 启动uiautomatorviewer.bat
2.2.2 连接手机
2.2.3 定位元素
2.2.4 点搜索框
2.2.5 参考代码
2.2.6 元素定位
2.3 Appium Inspector
前言
2.3.1 设置 appium
2.3.2 开启 appium
2.3.3 Ispector Window
2.3.4 查看属性
2.5.5 常见异常
后话
 

第 2 章 初步使用

2.1 启动 app(淘宝)

前言

安装好appium之后,就是启动APP了
那么如何启动 app 呢?
首先要获取包名,然后获取launcherActivity。

获取这两个关键东西的方法很多, 这里就不一一多说,小伙伴们可以各显神通。

这里主要给大家推荐一个 sdk 自带的实用工具 aapt. aapt 即 Android Asset Packaging Tool

在 SDK 的 build-tools 目录下。 该工具可以查看 apk 包名和 launcherActivity,当然还有更多的功能,有兴趣的可以查看相关资料。
 

2.1.1 下载 aapt

  1. 在 android-sdk 里面双击 SDK-manager,下载 buidl-tools

在这里插入图片描述

    2.勾选 build-tools,随便选一个版本,我这里选的是 24 的版本

在这里插入图片描述

    3. 下载完成后,在 D:\androidsdk\android-sdk-windows\build-tools\24.0.0 目录下找到 aapt.exe,将这个路径设置环境变量,添加到 path 下

在这里插入图片描述

    4. 打开 cmd。输入 aapt 出现如下界面,说明环境 OK 了

在这里插入图片描述

 

2.1.2 获取 apk 包名

  1. 将准备测试的 APK 放到 D 盘某个目录,如 D:\test

  2. 打开 cmd,输入指令 aapt dump badging D:\test\xxx.apk(APK 的全名, 如手机淘宝.apk)

  3. 以手机淘宝.apk 为例,如下图

在这里插入图片描述

   4.这里就可以看到 apk 的包名:com.taobao.taobao 注:老司机==可以直接把 apk 放在桌面上,输入指令后拖到 cmd 框 ==

2.1.3 获取 launcherActivity

  1. 接着上一步操作,cmd 屏幕拖到中间 l ==找到 auncherActivity ==
  2. 这里可以看到,淘宝的 launcherActivity 值为 com.taobao.tao.welcome.Welcome

在这里插入图片描述

 

2.1.4 写脚本

  1. platformName:这里是 ==android 的 apk ==
  2. deviceName:手机设备名称,通过 adb devices 查看
  3. platformVersion:android 系统的版本号
  4. appPackage:apk 包名
  5. appActivity:apk 的 launcherActivity

在这里插入图片描述

 

2.1.5 运行 appium

  1. 启动 appium,右上角点三角形按钮,变成正方形,就是启动状态。

在这里插入图片描述

      2. 确认手机连上电脑

在这里插入图片描述

           3.在 pycharm 运行脚本,随后在手机上会弹出安装下面两个软件的提示, 安装后,桌面上       多两个图标。那么恭喜你启动成功!

在这里插入图片描述

 

        4.接着会看到淘宝 app 已经启动啦

2.1.6 最终代码如下

`# coding=utf-8 rom appium import webdriver desired_caps = { 'platformName': 'Android', 'deviceName': '30d4e606', 'platformVersion': '5.0',# apk 包名 'appPackage': 'com.taobao.taobao', # apk 的 launcherActivity 'appActivity':'com.taobao.tao.welcome.Welcome' } driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)` 

这个地址是怎么来的呢?如下图:

在这里插入图片描述

 这一篇主要学会使用 aapt 工具,然后启动 app 的一个流程
启动 app 后,下一 步就是要定位元素了,定位元素 android sdk 里面用一个自带的 uiautomatorviewer,appium 里面也有一个 Inspector,下篇会详细介绍。

2.2 元素定位 uiautomatorviewer

前言

环境搭建好了,下一步元素定位,元素定位本篇主要介绍如何使用uiautomatorviewer,通过定位到页面上的元素,然后进行相应的点击等操作.

uiautomatorviewer 是 android-sdk 自带的一个元素定位工具
非常简单好用, 使用uiautomatorviewer,你可以检查一个应用的 UI 来查看应用的布局和组件以 及相关的属性。
 

2.2.1 启动uiautomatorviewer.bat

  1. 打开目录 D:\androidsdk\android-sdk-windows\tools

在这里插入图片描述

    2. 双击启动,启动之后出现如下界面

在这里插入图片描述

  3.如果不喜欢双击启动的话,也可以在 cmd 里面通过指令启动 先 cd 到 tools 目录下,然后输入 uiautomatorviewer.bat 回车后启动服务

在这里插入图片描述

 

2.2.2 连接手机

  1. cmd 打开输入 adb devices,确认手机已连上
  2. 打开手机淘宝页面,让屏幕处于点亮状态
  3. 点左上角安卓机器人按钮 Devices Screenshot 按钮刷新页面

在这里插入图片描述

 

2.2.3 定位元素

  1. 移动鼠标到需要定位的元素上,如搜索输入框

在这里插入图片描述

 

     2.右下角可以看到元素对应的属性
        text:搭配新宠不能缺
        resource-id:com.taobao.taobao:id/home_searchedit class:android.widget.EditText

2.2.4 点搜索框

  1. 前面一骗启动 app 后,休眠五秒,等待页面加载完成
  2. 通过 id 来定位到搜索框,然后点击

在这里插入图片描述

 

2.2.5 参考代码

 # coding=utf-8 from appium import webdriver import time desired_caps = {'platformName': 'Android', 'deviceName': '30d4e606', 'platformVersion': '5.0', 'appPackage': 'com.taobao.taobao', 'appActivity': 'com.taobao.tao.welcome.Welcome', } driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) # 休眠五秒等待页面加载完成 
time.sleep(5)
driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").cli ck()

2.2.6 元素定位

(此处敲黑板,做笔记!!!)

  1. appium 的 webdriver 提供了 11 种元素定位方法,在 selenium 的基础 上扩展了三个,可以在 pycharm 里面输入 driver.find_element_by 然后会自动匹配出来

在这里插入图片描述

 

   2.多的三种如下,在后面的会详细介绍

  • driver.find_element_by_accessibility_id()
  • driver.find_element_by_android_uiautomator()
  • driver.find_element_by_ios_uiautomation()(第三个是 ios 的可以暂时不用管)

uiautomatorviewer 是 android sdk 自带的,下面将讲另一个Inspector
 

2.3 Appium Inspector

前言

Appium Inspector 是== appium 自带的一个元素定位工具==。
appium Inspector 的winddows 版本不太好用,但是 Mac 上的功能还是很强大的,一般 mac 上用的比较多。

2.3.1 设置 appium

  1. 先不要启动 appium
  2. 点开 android setting 界面(机器人图标)
  3. 勾选 Application Path,添加被测 app 的路径
  4. Devices name 处添加设备名称(adb devices 查看到的)

在这里插入图片描述

 (敲黑板,记重点:通过这种方法也可查看到 apk 的包名和 Launch Activity)

在这里插入图片描述

 

2.3.2 开启 appium

  1. 手机确保连接电脑(adb devices 查看)
  2. 点 appium 右上角三角形图标,会启动服务
  3. 这时候可以看到手机上安装淘宝应用,并会启动淘宝
  4. 点 appium 右上角的搜索图标
  5. 点Inspector Window 界面的 Refresh 按钮刷新界面

2.3.3 Ispector Window

  1. 手机上打开需要单位元素的界面,然后点 Refresh 按钮刷新
  2. 左边菜单树,可以挨个点开
  3. 如果想单位界面上的“是”和“否”按钮,从菜单树就可以看到这两个 元素的结构

2.3.4 查看属性

  1. 选中左侧菜单树对应的元素,在右下角查看对应属性

在这里插入图片描述

 

2.5.5 常见异常

  1. 在使用过程中,你会发现经常会报以下这个错误
  2. 每次启动都会给你手机上重新安装一次应用
  3. 并且不能用鼠标指定某个元素,没有uiautomatorviewer 使用方便

后话

本次的文章实际代码可能有点多,大家出现错误的话可以多对应几遍,实在找不到错误可以点击文末小卡片进群,来这里提问,会有大佬帮忙解答的。

在这里插入图片描述

 


http://www.ppmy.cn/news/350188.html

相关文章

win11系统更新 键盘失灵

系统更新重启后usb键盘突然无法识别 更新键盘驱动和重装芯片组驱动都尝试过无效,遂怀疑是这次更新有问题。 找了好久发现罪魁祸首就是这个libusb的驱动,在设备管理器里面将它卸载后键盘恢复正常

闪存潜规则:你的毛病比方案重要

大家好,我是了五月。 前言 目前绝大数存储设备都是以闪存为存储介质的,内部许多固件算法方案都是在为闪存服务的。 无论是什么算法,都是遵循着Flash的特性为前提的。 那闪存究竟有哪些潜规则的特性呢? 先擦后写 闪存块(Bloc…

Rubber Ducky简介

USB Rubber Ducky是一款模仿人工键盘输入的设备,外形和U盘一样,模拟键盘输入速度可达到1000个字符每分钟,并且适合任何操作系统,包括安卓等移动OS,它使用的是它特定的脚本语言,用记事本就可以编写&#xff…

【解决问题】ducky one2 mini mecha机械键盘在macOS下不识别

问题发生环境:MacBook Pro15(2018)「系统10.15.5」 问题描述:macOS下键盘接入后,只有部分fn层功能可用,“键盘识别”界面卡在第一步,无法完成识别;Windows10下,可以正常…

10行代码DIY一个类USB Rubber Ducky来遥控自己电脑

文章目录 一、前言二、完整代码三、制作方法四、实验结果五、结语 一、前言 shineblink core 开发板(简称Core)能够很方便的变成USB Slave设备,并且内部集成HID协议,所以可很容易的实现USB键盘功能。借此功能可以很容易的将Core改…

机械键盘指南(一)纵览与轴

序 十年前,我是个C/Java程序员,几乎每天都要花10个小时以上坐在电脑前,不断地敲击键盘。那时,我用的是公司统一派发的廉价Dell薄膜键盘,在成年累月的工作之后,手指在每次击键时都会疼痛,以致于输…

对于机械键盘的一些见解(转载)

本文转载: 机械键盘的纵览与轴 十年前,我是个C/Java程序员,几乎每天都要花10个小时以上坐在电脑前,不断地敲击键盘。那时,我用的是公司统一派发的廉价Dell薄膜键盘,在成年累月的工作之后,手指在…

B.FRIENDit:键盘轴体零死角剖析,挑选机械式键盘不必烦恼!

在和各位探讨键盘之前,想问大家一个问题:“各位玩家们在挑选键盘的时候,都是以什么来作为衡量标准呢?是借由朋友口耳相传、网络上各式各样的开箱文、喜爱的实况主介绍还是以自己曾经使用过后的感受,或者产品详情参数&a…