APP自动化测试-2. Appium录制测试用例


文章目录

  • APP自动化测试-2. Appium录制测试用例
  • 前言
  • 一、android自动化依赖
    • 1. adb依赖
    • 2. android真机或模拟器
    • 3. Appium Desktop/Appium
  • 二、 Appium Inspector录制脚本
    • 1. 启动应用
    • 2. 脚本录制
    • 3. 生成脚本
    • 4. 常用命令
  • 总结

前言

使用appium inspector录制生成测试用例,建议入门使用,后续熟练之后,可以脱离这些了就。


一、android自动化依赖

1. adb依赖

adb全程Android Debug Bridge ,用来协助调试android程序。adb工具包含在android sdk工具中,sdk安装完成后,可以直接使用adb命令

➜  ~ adb version
Android Debug Bridge version 1.0.41
Version 29.0.6-6198805
Installed as /usr/local/android-sdk/platform-tools/adb

2. android真机或模拟器

运行脚本的设备,android真机需要root权限,模拟器可以使用sdk自带的模拟器或genimotion

3. Appium Desktop/Appium

启动Appium desktop的服务,如下所示,保持默认启动即可

或者在terminal中直接启动也可以:

二、 Appium Inspector录制脚本

1. 启动应用

打开Appium Inspector,添加字典

官网参考文档:官方文档

常用参数:
platformName:脚本运行的平台,如:IOS、Android
deviceName:运行的设备名称,即adb devices查出来的ID
appPackage:包名,可以通过adb logcat查询日志获取
appActivity:页面名称,通常是启动页
日志示例:
执行命令:adb -s “test123” logcat | grep -i displayed
启动目标设备的被测应用(简书为例)

第一部分是包名,第二部分是启动页,分别对应appPackage和appActivity

信息获取完成后,在Appium Inspector中进行填写

填写完成后,点击start Session,会在手机上启动目标应用,启动完成后,显示手机页面,即为成功

2. 脚本录制

功能简介:

1: 元素定位,用于定位页面中的元素
2: 屏幕滑动,指定起始坐标和结束坐标,模拟滑动操作
3: 生成手机屏幕的镜像窗口
4: 回退操作
5: 刷新页面按钮,元素加载失败时可点击重新加载
6: 录制脚本按钮,点击后开始录制操作
7: 元素查找按钮,点击后可对元素定位表达式进行校验
8: DOM复制按钮

点击按钮6,开始录制脚本

3. 生成脚本

步骤1中的json对象,是用来创建driver的,步骤2中为操作代码,完成脚本代码如下:

from time import sleepfrom appium import webdriver
from appium.webdriver.common.appiumby import AppiumBydesired_caps = {"platformName": "android","appium:deviceName": "b1f37e8e","appium:appPackage": "com.jianshu.haruki","appium:appActivity": "com.baiji.jianshu.ui.splash.SplashScreenActivity"
}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)el1 = driver.find_element(by=AppiumBy.ID, value="com.jianshu.haruki:id/tv_ok")
el1.click()
sleep(2)
el2 = driver.find_element(by=AppiumBy.ID, value="com.lbe.security.miui:id/permission_allow_foreground_only_button")
el2.click()
sleep(2)
el3 = driver.find_element(by=AppiumBy.ID, value="com.lbe.security.miui:id/permission_allow_button_1")
el3.click()
sleep(2)
el4 = driver.find_element(by=AppiumBy.ID, value="com.lbe.security.miui:id/permission_allow_button")
el4.click()
sleep(2)
el5 = driver.find_element(by=AppiumBy.ID, value="com.jianshu.haruki:id/et_account")
el5.send_keys("13000000000")
driver.quit()

注:webdriver.Remote
http://localhost:4723/wd/hub:localhost为appiumserver的IP地址,4723位appium服务启动的端口,wd位webdriver,hub表示衷心节点。

desired_caps:为启动driver的配置项,一般包含platformName、deviceName、appPackage、appActivity

4. 常用命令

# app信息获取,初始化driver时的包信息和初始页面信息都可以用这2个获取
# 获取当前页面的元素,devices位adb device查询的device id
adb -s "devices" shell dumpsys activity top
# 获取任务列表
adb shell dumpsys activity activities# app入口查看
adb -s "devices" logcat | grep -i displayed# 应用启动
adb shell am start -W -n com.jianshu.haruki/com.baiji.jianshu.ui.splash.SplashScreenActivity -S

总结

  1. 执行adb命令时,如果有多个devices,可以通过-s参数,指定设备,如:adb -s test123 logcat | grep -i com.tudou
  2. 如果jdk版本和android sdk版本不匹配,可以通过android studio 或sdk工具进行卸载不匹配版本,安装匹配版本的sdk,通常jdk1.8版本对应的sdk版本在30以内,不然会报错,可以选择29.0.3或者28.0.3
  3. 启动时弹框或者登录需要记录操作时,可以在desired_caps中添加:“noReset” : True
  4. 元素查找不到时,可以使用隐式等待方法,implicitly_wait(3)

APP自动化测试-2. Appium录制测试用例相关推荐

  1. APP自动化测试-12.Appium日志分析(原理)

    APP自动化测试-12.Appium日志分析 文章目录 APP自动化测试-12.Appium日志分析 前言 一.应用启动 二.元素定位与操作 总结 前言 以Android原生应用为例,记录使用appi ...

  2. APP自动化测试-10.Appium中Desired Capabilities常用参数

    APP自动化测试-10.Appium中Desired Capabilities常用参数 文章目录 APP自动化测试-10.Appium中Desired Capabilities常用参数 前言 一.通用 ...

  3. android app自动化测试框架Appium资料整理

    by Ruiming.Lv 1   自动化测试 1.1    自动化测试简介 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.从广义上来讲,一切通过工具(程序)的方式来代替或辅助手工测试的 ...

  4. 2022软件测试技能 APP自动化测试 Python+Appium+Uiautomator2 实战教程

    系列文章目录 提示:阅读本章之前,请先阅读目录 文章目录 系列文章目录 前言 一.Appium 原理 二.环境搭建,一键搞定 1. 安装Java JDK 2. Android SDK 安装与配置 3. ...

  5. App自动化测试-原理与安装-Appium+Python+网易mumu模拟器

    App自动化测试(学习笔记一)--Appium原理与安装 APP自动化初始 Appium原理 Appium安装 Java jdk 1.8版本 Android sdk appium desktop ap ...

  6. python app自动化测试框架_appium+python,app自动化测试框架

    基于appium的app自动化测试框架 基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于we ...

  7. appium的python教程_移动App Appium自动化测试教程Appium+Python 【2018年新】_IT教程网...

    资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 1-3 移 ...

  8. pythonapp自动化_移动App Appium自动化测试教程Appium+Python 【2018年新】

    资源介绍 资源名称:移动App Appium自动化测试教程Appium+Python [2018年新] 资源目录: 第一章:App自动化测试概述 1-1 Appium自动化课程简介 1-2 课程大纲 ...

  9. APP自动化测试系列之appium-desktop配置及录制脚本

    VOL 177 23 2020-11 今天距2021年38天 这是ITester软件测试小栈第177次推文 点击上方蓝字"ITester软件测试小栈"关注我,每周一.三.五早上 0 ...

  10. APP自动化测试框架搭建(五)--Python+Appium+pytest-html

    第一章 APP自动化环境搭建(Mac版) 第二章 APP自动化环境搭建(Windows版) 第三章 adb命令 第四章 元素定位.元素操作 第五章 APP自动化测试框架搭建 Python+Appium ...

最新文章

  1. JSP的执行过程(详解)
  2. 蚁群算法优化神经网络matlab源程序,粒子群优化神经网络的程序大集合
  3. 撰写论文时word使用诀窍标题
  4. tomcat访问oracle卡死,tomcat无法连接到oracle
  5. java文本编辑器 运行_能编译运行java的简单文本编辑器
  6. mysql编译方式安装_mysql编译方式安装
  7. jQuery学习笔记(一) 取值、赋值的基本方法
  8. VSCode使用记录一:ubuntu 16.04下安装、编译文件、制作桌面图标和卸载
  9. #PYTHON#数据模型
  10. 网页特效——花间飞舞的蝴蝶
  11. three.js 入门详解(一)
  12. 【和UI斗智斗勇的日子】如何实现一个类似哈罗单车APP主页打车模块的卡片式切的View
  13. 如何在WhatsApp中引用某人
  14. 物理隔离与数据交换-网闸的设计原理
  15. 洞态IAST自动检测S2-001漏洞
  16. html 框线设置颜色,css怎么设置边框颜色?
  17. 百度地图使用、调起本机App地图
  18. 传统图像处理(滤波算子、边缘、角点、特征提取)算法大全
  19. html 页面设置离顶部距离,设置table距离顶部位置
  20. 奥凯航空项目(一登录账号后台代码)

热门文章

  1. DevExpress ChartControl 折线图简单使用
  2. xapofx1_5.dll怎么安装
  3. English trip V2 - 9 People and Places Teacher:Julia Key: at on in
  4. Mac电脑常用软件安装
  5. lbochs模拟器最新版_手机模拟器电脑模拟器-bochs模拟器安卓版下载 v2.6.8-都去下载...
  6. 生产任务单下推产品入库单,金蝶KIS旗舰版盘点机PDA生产管理软件
  7. Linux 下载工具推荐: Motrix qbittorrent
  8. 『水晶报表』实现打印
  9. 计算机旅游网站毕业论文,旅游网站的设计与实现(毕业论文)
  10. 微分方程传染病模型之指数模型-SI模型-SIS模型-SIR模型