App自动化测试(一)appium框架介绍与环境安装
Appium框架介绍
Appium 的引擎
- Android 是 uiautomator2
- ios 是 xcuitest
Appium 的设计理念
- webdriver 是基于 http 协议的,第一连接会建立一个 session 会话,并通过 post 发送一个 json 告知服务端相关测试信息
- client/server 设计模式
- 客户端通过 webdriver json wire 协议与服务器通讯
- 多语言支持
- server 可以放在任何地方
- 服务器 nodejs 开发的 http 服务
- appium 使用 appium-xcuitest-driver 来测试 iphone 设备,其中需要安装 Facebook 出的 WDA(webdriver agent) 来驱动 ios 测试
Appium 的生态工具
- adb:Android 控制工具
- appium Destkop:内嵌 appium server 和 inspector 的综合工具
- appium server:appium 的核心工具,命令行工具
- appium client:各种语言的客户端封装库,用户连接 appium server,包含 python、java、ruby 等
获取 App 的信息
- 获取当前元素界面:adb shell dumpsys activity top
- 获取任务列表:adb shell dumpsys activity activities
- 获取 app 的 package 和 activity:adb shell logcat | grep -i displayed
- 启动应用: adb shell am start -W -n "package/activity" -S
Capability 设置
-
文档地址:http://appium.io/docs/en/writing-running-appium/caps/index.html
-
platformName: android
-
deviceName: 127.0.0.1:5555 这个通常是 adb devices 的名称
-
appPackage: 这个是 app 的 package 包名
-
appActivity: 这个是 app 的 activity 名
-
noReset:true, false 是否重置测试的环境
-
unicodeKeyboard:true, false 是否需要输入非英文之外的语言并在测试完成后重置输入法,比如输入中文
-
dontStopAppOnReset:true, false 首次启动的时候,不停止 app
-
skipDeviceInitialization:true, false 跳过安装,权限设置等操作
官方测试用 apk
Appium 环境搭建
JDK 的搭建
- 下载 1.8 的 jdk
- 新建环境变量:JAVA_HOME 值为:D:\Program Files\Java\jdk1.7.0
- 新建环境变量:CLASSPATH 值为:.;%JAVA_HOME%\lib;(注意:点号表示当前目录,不能省略)
- 在系统变量 Path 的值的前面加入以下内容:%JAVA_HOME%\bin
SDK 的配置
- 下载 sdk
- 打开 sdk 的 sdk manager,安装 tools 前 3 个和 google 的 usb 驱动
- 配置环境变量 Android home 里面的 platform-tools 和 tools
Appium 的搭建
- 安装desktop版本
- 下载地址:https://github.com/appium/appium-desktop/releases
- 安装稳定版本即可,不要安装太旧版本,会有很多坑
- 安装server版本
- 安装 node.js,配置 node.js 的环境变量
- npm install -g appium
- npm install -g appium-doctor # appium环境安装检测
- python客户端安装:pip install appium-python-client
appium第一个脚本
from appium import webdriver
desired_caps={}
desired_caps['platformName']='Android'
desired_caps['platformVersion']='6.0'
desired_caps['deviceName']='emulator-5554'
# com.android.settings/com.android.settings.Settings
desired_caps['appPackage']='com.android.settings'
desired_caps['appActivity']='com.android.settings.Settings'
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
driver.quit()
本文来自博客园,作者:小小滴人a,转载请注明原文链接:https://www.cnblogs.com/xxiaow/p/16483871.html
任何人的成功都无法一蹴而就,每一阶段的抵达,都离不开一步一个脚印的积累。只要不急不躁,耐心努力,保持对新事物的好奇,就是行进在成为更好自己的路上。慢慢来,别着急,生活终将为你备好所有的答案。