3.移动端自动化测试-appium环境搭建(原理)
自动化环境需要:
1.JDK:安卓应用使用的java语言开发,必须安装jdk
2.Android-sdk:开发工具包 里面tools(查看元素工具)和adb工具
3.appium:安装服务端(提供API),脚本端,模拟机
appium自动化原理:
需要服务端(appium启动),手机端(adb连接设备),脚本端(pycharm)就可以进行
自己总结下:脚本端- 发送脚本-》appuim服务端(知道找哪台设备)--驱动-》手机(自带内部的UIauto自动化工具)
手机和脚本连接:1.adb连接,2靠脚本导入驱动。
脚本和服务端连接:1靠pythonsetting中设置安装appiumpyhon客户端 2,靠脚本中webdriver.Remote的方法传入地址和参数
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
安装就绪后,第一次执行脚本时遇到问题1,(搭建后还需要导入客户端,负责无法实现三段连接)
pycharm上面执行了第一个用例
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
#导入driver对象.驱动对象会帮助我们完成手机和脚本之间交互.
from appium import webdriver
#先定义个字典变量,给下面调用
desired_caps = {}
desired_caps['platformName'] = 'Android' #平台的名称:iOS, Android, or FirefoxOS
desired_caps['platformVersion'] = '4.4.4' #设备系统版本号
desired_caps['deviceName'] = 'KMO3EHB90R' #设备号 IOS:instruments -s devices,Android: adb devices
desired_caps['appPackage'] = 'com.avatar.settings'#启动的Activity
desired_caps['appActivity'] = '.Settings' #启动的包
desired_caps['unicodeKeyboard'] = True #unicode设置(允许中文输入)
desired_caps['resetKeyboard'] = True #键盘设置(允许中文输入)
#脚本和服务端关联,使用webdriver.Remote的方法,并传2个参数,服务端的地址和服务端需要的启动参数
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
driver.close_app() # 关闭当前操作的app,不会关闭驱动对象driver
driver.start_activity("com.avatarmind.robot.grabsmile",".GrabSmileActivity")#脚本内启动其他app
driver.quit()#关闭驱动对象,同时关闭所有关联的app
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
提示“no module named appium”错误,安装后还需要再pycharm中配置导入模块客户端
加完后如下:
再次执行python,已经能连接上并且能打开设置,此时aapuim上面已经有日志,记住保持机器人唤醒状态保证ADB成功连接
2.1.主流的移动端自动化工具
- Robotium
1.支持语言:Java
2.仅支持Android系统
3.不支持跨应用
- Macaca
1.支持语言:Java,Python,Node.js
2.支持Android和iOS系统
3.支持跨应用
- Appium
1.支持语言:Java,C#,Python,php,perl,ruby,Node.js
2.支持Android和iOS系统
3.支持跨应用
- 自动化工具选择的关注点
1.是否支持native,webview
2.是否支持获取toast
3.是否支持跨应用
2.2.Appium环境搭建
-
2.2.1 Appium客户端安装(闲话:下面讲述安装包和命令行2种方式,2个选一个即可)
-
2.2.1.1 Appium背景介绍
1.官网:www.appium.io,由SauceLab公司开发 2.Appium是由nodejs的express框架写的Http Server,Appium使用WebDriver的json wire协议, 来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架
-
2.2.1.2 Appium桌面客户端安装方式
1. 运行appium-desktop-Setup-1.2.7.exe,默认安装即可 2. 启动客户端,按图片步骤 1 -> 2 -> 3 -> 4 设置
3. 启动成功展示如下图
-
2.2.1.3 Appium命令行安装方式
1. 安装Node.js ->Win:官网下载可执行包安装(Linux: yum install; Macos: brew install) 2. 安装完成后 命令行运行npm或node -v 来查看是否安装成功
敲黑板: npm国内一般被墙,所以选择淘宝镜像安装,官网:http://npm.taobao.org 3. 安装cnpm: npm install -g cnpm --registry=https://registry.npm.taobao.org
4. 安装appium: cnpm install -g appium
4. 启动appium服务命令: appium &,如下图即正确安装 敲黑板: Windows安装会提示os的模块错误,这个需要mac系统支持,不影响windows操作使用
-
-
2.2.2 Appium-python库安装
-
命令行安装(需要联网)
pip install Appium-Python-Client
-
(举例:实际上使用pip3 install Appium-Python-Client --user 最终安装成功)
-
安装包安装
-
前提:python已安装setuptools包 安装setuptools: 1.解压setuptools-38.2.4.zip 2.进入解压后文件夹执行命令: python setup.py install 3.等待安装完成,无错误信息即可 安装Appium-Python-Client: 1.解压Appium-Python-Client-0.25.tar.gz 2.进入解压后文件夹执行命令: python setup.py install 3.等待安装完成,无错误信息即
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现