手机运行python控制手机app,python模拟手机屏幕点击

这篇文章主要介绍了手机运行python控制手机app,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

有线连接真机,实现真机自动化?实现模拟器自动化?在这里,都能满足你的需求!

什么都不说了,直接上干货吧,亲测可用哦👇

一. 环境准备

首先,先介绍下所需的环境,如下:

  • JDK1.8

  • Appium

  • Python3.x

  • Android-sdk

  • 夜深模拟器/mumu模拟器(PS: 自动化真机时可以选择不安装)

  1. 安装配置JDK1.8

1)下载

  1. 方式1:官网下载JDK1.8安装包

下载地址:Java Downloads | Oracle

下载版本选择主流的jdk1.8的版本:jdk-8u241-windows-x64.exe

  1. 方式2:直接下载小码农在百度网盘给诸位备好的安装包(不谢~)

下载链接:百度网盘 请输入提取码

提取码:psqk

2)配置JDK的环境变量

第一步,Win + R打开“运行”窗口,执行命令“sysdm.cpl”打开“系统属性”窗口,进入“高级”-->“环境变量”-->“系统变量”。

第二步,新建系统变量

变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_211 (这里请改成自身电脑上jdk的实际安装路径)
变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar; (前面有一点和冒号不能少)

第三步,编辑PATH变量,在PATH变量中添加如下内容

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; (PATH中原来的路径不要去掉哦)

第四步,打开cmd,验证是否安装成功

在cmd中执行javac和java -version即可验证用python3.4画满天星。成功的标识:分别会出现一堆参数说明和jdk的版本信息。

2. 下载配置Android-sdk

1)下载安装

下载地址:http://tools.android-studio.org/index.php/sdk/

下载版本选择:android-sdk_r24.4.1-windows.zip

2)配置

与JDK1.8配置类似,

第一步,Win + R打开“运行”窗口,执行命令“sysdm.cpl”打开“系统属性”窗口,进入“高级”-->“环境变量”-->“系统变量”。

第二步,新建系统变量

变量名:ANDROID_HOME
变量值:C:\tools\android-sdk-windows (这里请改成自身电脑上android-sdk的实际路径)

第三步,编辑PATH变量,在PATH变量中添加如下内容

;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\29.0.3;%ANDROID_HOME%\platform-tools

第四步,验证是否安装并配置成功。在cmd中执行adb即可验证。成功的标识是输出第一行出现Android Debug Bridge version版本信息。

3. 安装配置Appium

1)下载Appium-Server-GUI

下载地址:Releases · appium/appium-desktop · GitHub

2)配置Appium Server GUI

安装成功后,双击Appium Server GUI.exe运行,选择“Simple”模式,进入如图中的配置。

配置完成后,即可点击startServer开启服务。

3)下载安装Appium Inspector

下载地址:Releases · appium/appium-inspector · GitHub

问题:为什么需要下载Appium Inspector ?
答案:由于高版本Appium(从1.22.0开始)的服务和元素查看器分离,1.22.0以下的版本打开Appium Server GUI,点击搜索按钮显示的是inspectorMoved(PS:1.22.0以下版本才会显示Start Inspector Session)。所以除了下载安装Appium Server GUI,还需要下载Appium Inspector。

安装成功后,双击Appium Inspector.exe即可启动Appium Inspector。

至此,Appium就算是安装配置好啦,后续再对Appium Inspector如何使用进行说明。

二.真机测试(有线)

  1. 有线连接手机

第一步,打开手机的开发者模式(PS: 请自行百度如何开启手机的开发者模式)。

第二步,用USB线连接手机和电脑,在开发者选项中开启“USB调试”

第三步,测试是否连接成功,在cmd中执行命令:adb devices 。出现设备信息即表示连接成功。

  1. 启动Appium Server

  1. 启动Appium Inspector,创建配置Session

需配置的参数如上图所示,如下:

  • 远程主机:值为127.0.0.1

  • 远程端口:值为4723

  • 远程路径:值为/wd/hub

  • platformName: 声明是ios还是Android系统

  • platformVersion:内核版本号,可在PowerShell中通过如下命令查看


 adb shell getprop ro.build.version.release
  • deviceName:连接的设备名称,可通过如下命令查询


adb devices -l
  • 启动时自动添加必要的Appium供应商前缀:必须勾选

按上述配置好Session参数后,点击“启动会话”,手机会提示安装一些uiautomator的相关插件,请选择“信任安装”待安装完毕后,可以看到Appium Inspector界面弹出手机界面,表示连接配置成功(如下图所示)。

此时,就可以用Appium Inspector调试真机,录制自动化脚本啦。(具体详情请参考第四点)

三. 模拟器测试

  1. 下载安装模拟器(以“夜深模拟器”为例)

模拟器推荐使用 “夜深模拟器”或者“mumu模拟器”。模拟器的安装和使用请自动度娘,这里不做过多赘述。

  1. 模拟器安装被测App

在电脑上下载好被测App的安装包,然后把apk包直接拖拽到夜神模拟中安装。

  1. 启用开发者选项和USB调试模式

在夜深模拟器中,步骤为:“设置”-->多次点击版本号直至出现提示-->进入“开发者选项”-->启动USB调试

  1. 覆盖夜深模拟器的nox_adb.exe

由于android-sdk的adb【sdk安装目录的platform-tools目录下】和模拟器的nox_adb【夜深安装目录的bin目录下】版本不一致,所以需要用sdk的adb.exe替换掉模拟器的nox_adb.exe。

注意:建议将模拟器原本的nox_adb.exe备份。

  1. 启动Appium Server

  1. 启动Appium Inspector,创建配置Session

需配置的参数如上图所示,如下:

  • 远程主机:值为127.0.0.1

  • 远程端口:值为4723

  • 远程路径:值为/wd/hub

  • platformName: 声明是ios还是Android系统

  • platformVersion:内核版本号,可在PowerShell中通过如下命令查看


 adb shell getprop ro.build.version.release

  • deviceName:连接的设备名称,可通过如下命令查询


adb devices -l

  • 启动时自动添加必要的Appium供应商前缀:必须勾选

按上述配置好Session参数后,点击“启动会话”,模拟器会提示安装一些uiautomator的相关插件,请选择“信任安装”待安装完毕后,可以看到Appium Inspector界面弹出模拟器的界面,表示连接配置成功(如下图所示)。

此时,就可以用Appium Inspector调试模拟器,录制自动化脚本啦。(具体详情请参考第四点)

四. Appium录制自动化脚本

在这里,不会对Appium Inspector进行详细的使用说明,如有需要,请自行找度娘。

  1. 录制自动化脚本

步骤为:开始录制-->模拟操作(点击)-->选择录制的脚本语言(Python、Java、js、Ruby等)

录制生成的代码如下:


# This sample code uses the Appium python client v2
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python

from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy

# For W3C actions
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput

caps = {}
caps["appium:deviceName"] = "127.0.0.1:62025"
caps["platformName"] = "Android"
caps["appium:platformVersion"] = "7.1.2"
caps["appium:ensureWebviewsHavePages"] = True
caps["appium:nativeWebScreenshot"] = True
caps["appium:newCommandTimeout"] = 3600
caps["appium:connectHardwareKeyboard"] = True

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)

el1 = driver.find_element(by=AppiumBy.ACCESSIBILITY_ID, value="QQ")
el1.click()

driver.quit()

五. 创建Python自动化脚本

在Pycharm中创建一个py脚本文件,将生成的代码粘贴入py脚本文件中即可。当然,在运行之前,还需要安装依赖包:Appium-Python-Client

  1. 环境安装


pip install Appium-Python-Client

  1. 手机自动化参考文档

Android Keycodes:http://www.temblast.com/ref/akeyscode.htm

  • 48
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python手机短信是指使用Python编程语言来发送和接手机短信的功能。在Python中,可以使用第三方库或API来实现手机短信的发送和接收。 常用的实现方式是通过短信网关提供的API来发送短信。短信网关是一个中间平台,它提供了与运营商的接口,可以将短信发送到手机上。你可以选择使用国内或国际上的短信网关服务商,比如阿里云、腾讯云等。 以下是使用Python发送手机短信的一般步骤: 1. 注册并获取短信网关的API账号和密钥。 2. 安装相应的Python库,比如aliyun-python-sdk-core、qcloudsms等。 3. 导入库并配置API账号和密钥。 4. 调用相应的函数或方法来发送短信。 以下是一个使用阿里云短信服务发送手机短信的示例代码: ```python from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest # 配置API账号和密钥 access_key_id = "your_access_key_id" access_key_secret = "your_access_key_secret" # 创建AcsClient实例 client = AcsClient(access_key_id, access_key_secret, 'default') # 构造请求 request = CommonRequest() request.set_method('POST') request.set_domain('dysmsapi.aliyuncs.com') request.set_version('2017-05-25') request.set_action_name('SendSms') # 设置请求参数 request.add_query_param('PhoneNumbers', 'your_phone_number') request.add_query_param('SignName', 'your_sign_name') request.add_query_param('TemplateCode', 'your_template_code') request.add_query_param('TemplateParam', '{"code":"123456"}') # 发送请求并获取响应 response = client.do_action(request) print(response) ``` 请注意,以上代码仅为示例,具体的实现方式可能因短信网关服务商和API而有所不同。你需要根据具体的需求和文档来配置和调用相应的函数或方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值