一、环境搭建
福利——以下所用的所有资源
链接:https://pan.baidu.com/s/13tuONDd6EmfDsZFk4l_Lgg
提取码:w57p
appium工作过程
下面跟据上面的工作过程一步一步安装需要的环境(以python;window;android真机为例)
1、Appium-client环境搭建
安装python
-
官网下载安装包 https://www.python.org/downloads/
记得选择对 window 64位系统
下载速度奇慢无比,唯有去国内找镜像。百度一下你就知道。 -
安装的时候记得勾选设置环境变量
安装和破解开发工具pycharm(可选)
先去百度到某个版本的破解方法(好多),再去下载对应版本的pycharm安装包
利用python的pip安装Appium-Python-Client
pycharm里打开命令行运行
pip install Appium-Python-Client
2、Appium-Server环境搭建
appium-desktop安装
地址:https://github.com/appium/appium-desktop/releases
选择对应的安装包,例如:Appium-windows-1.17.0.exe
java jdk的安装和配置环境变量
Android SDK安装
- 下载地址:http://tools.android-studio.org/index.php/sdk
- 安装完设置环境变量
设置ANDROID_HOME 系统变量为你的 Android SDK 路径,并把tools和platform-tools两个目录加入到系统的 Path路径里。
变量名:ANDROID_HOME 值: D:\AutoTest\adt\sdk
设置两条Path值: %ANDROID_HOME%\tools
%ANDROID_HOME%\platform-tools - 进入sdk目录,双击SDK Manage.exe 启动SDK管理器(安装后如果不去掉勾选会自动打开)
点击进去选择需要的包安装
3、真机调试环境准备
真机打开开发者模式
手机进入设置,找到版本号,连按五次
找到,开发者选项,进入,开启usb调试。
usb连接电脑,会在手机弹出是否同意此设备进行调试,选是
真机调试需要的信息有以下五个信息
desired_caps['platformName'] = 'Android' # 平台
desired_caps['platformVersion'] = '9.0' # 系统版本
desired_caps['deviceName'] = '25452086' # 设备识别标识
desired_caps['appPackage'] = 'com.lbe.security.miui' # 要控制的app包标识
desired_caps['appActivity'] = 'com.android.packageinstaller.permission.ui.GrantPermissionsActivity' # 要控制的app活动标识
前两个自己打开要调试的真机或者模拟器的 设置 可以找到
后三个的获取方法
- 前提
下载一个adb压缩包,解压,打开目录
全局安装:
◆将名称中含有adb的文件,和fastboot.exe复制到 c:/windows/system32目录
◆将名称中含有adb的所有文件复制到 c:/windows/system目录
◆任意目录打开cmd命令行
局部运行
◆adb目录打开cmd命令行 - 获取deviceName
adb devices
-
获取appPackage,appActivity
网上有很多其他方法,我这里用的是
第一种:
进入adb shell
adb shell
输入命令
dumpsys activity activities | grep mResumedActivity
这两个就是appPackage/appActivity第二种:日志大法
1,打开要调试的APP。
2,执行
adb logcat>./log.txt
如果你电脑连接了两个或以上的机器,需要设备名,来下载你指定的设备App log
命令改为:
adb -s <设备名> logcat
3, 胡乱的对APP做一些操作。
4, 打开log.txt文件,搜索:Displayed (如果搜不到,删了日志,重新来一次。操作多点东西)
这两个就是appPackage/appActivity
至此所有环境准备完毕
二、使用demo
打开之前安装的 appium-desktop,点击start server…
如果没有报错,那就可以写脚本调试app了
demo(python脚本实现 抖音视频的自动点赞)
from appium import webdriver
import time
import random
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '9.0'
desired_caps['deviceName'] = '25452086'
desired_caps['appPackage'] = 'com.lbe.security.miui'
desired_caps['appActivity'] = 'com.android.packageinstaller.permission.ui.GrantPermissionsActivity'
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# driver.findElement(id("346dad66-c8af-40af-96fd-6952d3ee0d91")).click()
def dz():
for a in range(0,100):
driver.swipe(700, 1600, 700, 600,500)
driver.tap([(986, 1412)])
# driver.tap([(700, 1000)])
time.sleep(random.randint(10,20))
print(a)
try:
dz()
except:
print('发生异常')
time.sleep(random.randint(10, 20))
dz()
运行脚本,等一会,启动连接时比较慢。就会看到手机有反应了。
wif连接真机(需root)
原文链接:https://blog.csdn.net/yinshuilan/article/details/82853005
- 数据线连接手机并允许调试 cmd命令行执行:adb devices
List of devices attached
axxxxx20 device
-
执行以下命令分配ip port(5558未被占用):adb -s axxxxx20 tcpip 5558
restarting in TCP mode port: 5558 -
执行使用端口连接手机(192.168.xx.xx手机的ip地址):adb connect 192.168.xx.xx:5558
connected to 192.168.xx.xx:5558 -
拔掉数据线,查看已用wifi连接的设备:adb devices
List of devices attached
192.168.xx.xx:5558 device
最后贴几个链接:
https://testerhome.com/topics/3711Appium Python API
虫师appium教程
本文引用了部分其他博客的资源。感谢各位大神的指导。
如果此文对你有帮助,希望可以得到你的一个赞!
完