文章目录
前言
appium新版本改版,很多网上教程都不能用了,入门过了很久,记录一下糟心的学习过程。
一,全部环境安装
全部环境
jdk
node.js
android sdk
appium-doctor
appium
appium-inspector
1,安装jdk
网址
https://www.oracle.com/java/technologies/downloads/
环境配置(网上一大堆,都差不多)
环境配置外部链接
2,安装node.js
http://nodejs.cn/download/
3,安装android studio
https://developer.android.com/studio#downloads
环境配置
新建一个系统环境变量,变量名:ANDROID_HOME,变量值:
D:\adt-bundle-windows-x86_64-20140702\sdk(以安装目录为准)
如我的为
C:\Users\用户名\AppData\Local\Android\Sdk
在系统变量path中添加两条环境变量
C:\Users\用户名\AppData\Local\Android\Sdk\tools
C:\Users\用户名\AppData\Local\Android\Sdk\platform-tools
4,安装appium-doctor(这个是检测环境用的,对自己自信可不用)
安装完node.js后运行代码:
npm install appium-doctor -g
5,appium
6,appium-inspector
appium改版本了,对手机或者模拟器的控制及录制都需要一个专门的软件了。点击如下这个搜索按钮会跳转到一个git资源网址,不要惊慌,你的软件没有下载安装错,只是软件改版了,网上教程都是上个版本的。
现在有网页版和软件了
网页版:https://inspector.appiumpro.com/
软件下载地址:https://github.com/appium/appium-inspector/releases
7,确定环境都正确
(1),直接cmd运行:
appium-doctor
只要箭头上面这些方格为绿色就行,下方不用管
(2) appium环境配置
安装android studio 环境配置路径到\sdk路径就行,不需要再向下。
网上有安装sdk tools方式安装sdk的,不清楚是否一样
jdk配置是jdk安装路径,jdk默认路径如下,版本号要改下
C:\Users\用户名\AppData\Local\Android\Sdk
C:\Program Files\Java\jdk-17.0.1
(3)直接运行
adb devices
查看手机是否连接,成功的化除了此行还有别的。
2,appium-inspector使用
获取app关键信息:
- deviceName
- appPackage
- appActivity
deviceName可在cmd运行 adb devices获取名称
appPackage和appActivity获取
aapt dump badging d:\\test.apk(app路径)
name
activity
注意事项:
- 左上角那个箭头指向的要填 /wd/hub,前面不要加其他的(这个小问题卡了半天)
- platformVersion 只需要填写android版本就可以了,比如9,10,不需要什么10.0.1等
- noReset要加上,要不然每次app数据就会被清理,重新登陆(聊天信息什么的不会删)
使用appium
点击appium 的start按钮
使用python运行如下代码,就可以看到模拟器或者手机打开qq了。
手机要打开usb调试的,不是usb插上后选择传输文件就可以的,要打开开发者模式,再在开发者选项中打开,一段时间还会自动关闭。不会的可以在网上搜索教程。
import os, time, unittest
from selenium import webdriver
PATH = lambda p: os.path.abspath(os.path.join(os.path.dirname(__file__), p)) # 不写这一句也OK
desired_caps = {}
# qq
desired_caps = {
"platformName": "Android",
"platformVersion": "10",
"deviceName": "手机名",
"appPackage": "com.tencent.mobileqq",
"appActivity": "com.tencent.mobileqq.activity.SplashActivity",
"noReset": "True"
}
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
time.sleep(5)
# import feapder
# s = feapder.req