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

前面文章已经手把手教大家怎么搭建appium环境了【appium】appium自动化入门之环境搭建(上)
这个就教大家初步使用appium
这个系列预计会讲启动APP—元素定位—初步使用—API命令详解
本系列没提过的知识点也不用急,大家可以点击并输入暗号:CSDN来一起交流

目录

  • 第 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
    【appium】appium自动化入门之API(上)_第1张图片

  2. 勾选 build-tools,随便选一个版本,我这里选的是 24 的版本
    【appium】appium自动化入门之API(上)_第2张图片

  3. 下载完成后,在 D:\androidsdk\android-sdk-windows\build-tools\24.0.0 目录下找到 aapt.exe,将这个路径设置环境变量,添加到 path 下
    【appium】appium自动化入门之API(上)_第3张图片

  4. 打开 cmd。输入 aapt 出现如下界面,说明环境 OK 了
    【appium】appium自动化入门之API(上)_第4张图片

2.1.2 获取 apk 包名

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

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

  3. 以手机淘宝.apk 为例,如下图
    【appium】appium自动化入门之API(上)_第5张图片

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

2.1.3 获取 launcherActivity

  1. 接着上一步操作,cmd 屏幕拖到中间 l ==找到 auncherActivity ==
  2. 这里可以看到,淘宝的 launcherActivity 值为 com.taobao.tao.welcome.Welcome
    【appium】appium自动化入门之API(上)_第6张图片

2.1.4 写脚本

  1. platformName:这里是 ==android 的 apk ==
  2. deviceName:手机设备名称,通过 adb devices 查看
  3. platformVersion:android 系统的版本号
  4. appPackage:apk 包名
  5. appActivity:apk 的 launcherActivity
    【appium】appium自动化入门之API(上)_第7张图片

2.1.5 运行 appium

  1. 启动 appium,右上角点三角形按钮,变成正方形,就是启动状态
    【appium】appium自动化入门之API(上)_第8张图片

  2. 确认手机连上电脑
    【appium】appium自动化入门之API(上)_第9张图片

  3. 在 pycharm 运行脚本,随后在手机上会弹出安装下面两个软件的提示, 安装后,桌面上多两个图标。那么恭喜你启动成功!
    【appium】appium自动化入门之API(上)_第10张图片

  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)` 

这个地址是怎么来的呢?如下图:
【appium】appium自动化入门之API(上)_第11张图片

这一篇主要学会使用 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
    【appium】appium自动化入门之API(上)_第12张图片

  2. 双击启动,启动之后出现如下界面
    【appium】appium自动化入门之API(上)_第13张图片

  3. 如果不喜欢双击启动的话,也可以在 cmd 里面通过指令启动 先 cd 到 tools 目录下,然后输入 uiautomatorviewer.bat 回车后启动服务
    【appium】appium自动化入门之API(上)_第14张图片

2.2.2 连接手机

  1. cmd 打开输入 adb devices,确认手机已连上
  2. 打开手机淘宝页面,让屏幕处于点亮状态
  3. 点左上角安卓机器人按钮 Devices Screenshot 按钮刷新页面
    【appium】appium自动化入门之API(上)_第15张图片

2.2.3 定位元素

  1. 移动鼠标到需要定位的元素上,如搜索输入框
    【appium】appium自动化入门之API(上)_第16张图片

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

2.2.4 点搜索框

  1. 前面一骗启动 app 后,休眠五秒,等待页面加载完成
  2. 通过 id 来定位到搜索框,然后点击
    【appium】appium自动化入门之API(上)_第17张图片

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 然后会自动匹配出来
    【appium】appium自动化入门之API(上)_第18张图片

  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 查看到的)
    【appium】appium自动化入门之API(上)_第19张图片

(敲黑板,记重点:通过这种方法也可查看到 apk 的包名和 Launch Activity【appium】appium自动化入门之API(上)_第20张图片

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. 选中左侧菜单树对应的元素,在右下角查看对应属性
    【appium】appium自动化入门之API(上)_第21张图片

2.5.5 常见异常

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

后话

本次的文章实际代码可能有点多,大家出现错误的话可以多对应几遍,实在找不到错误可以点击并输入暗号:CSDN,来这里提问,会有大佬帮忙解答的

在这里插入图片描述

你可能感兴趣的:(appium自动化入门,appium,APPUI,自动化测试,软件测试,app)