u盘启动盘制作工具apk-(通用U盘启动盘制作工具)

常见问题 次浏览手机阅读
u盘启动盘制作工具apk (通用U盘启动盘制作工具)

一、环境准备

硬件设备:windows电脑

软件:pycharm/蓝叠或闪电模拟器//SDK manager

下载闪电模拟器链接:https://www.ldmnq.com/?n=6000&bd_vid=11623493887955105097

二:编写自动化脚本前需要掌握的基础

python基础变量变量常用的数据类型(字符串/int/dict/list)声明和调用,以及数据类型之间的转换函数(带参函数/无参函数/有返回值/无返回值)的声明和调用开源库的安装和调用for循环2. 常用的adb命令

(1)查看已连接的设备列表:adb devices

(2)开关ADB服务:

开启:adb start-server

结束:adb kill-server

(3)连接设备:adb connect IP 断开设备:adb disconnect IP

如果是USB连接,直接会连接ADB,如果要通过网络连接(有线或无线),则需要在同一局域网 ,通过设备的ip连接地址。

(4) 安装/卸载apk

安装apk adb install -r apk路径

常用参数说明:

t 允许测试包l 锁定应用程序s 安装应用程序sd卡上g 授予应用程序所有运行时的权限r 替换现有的应用程序,即强制安装d 允许将见状,也就是说,安装的版本低于手机上带的版本

卸载apk adb uninstall apk包名

(5)抓取日志 logcat

常用参数说明

"-s"选项 : 只显示指定标签的日志; ------>adb logcat -s SWVDEC 显示SWVDEC标签的日志

"-v"选项 : 设置日志的输出格式;----->adb logcat -v threadtime 查看日志输出时间和线程信息

"-c"选项 : 清空所有日志缓存信息;---->adb logcat -c

"-d"选项 : 将缓存日志输出到屏幕上, 而且不会堵;------->adb logcat -d

"-t"选项 : 输出最近几行日志, 输出后退出, 不阻塞;------>adb logcat -t 5 最近5行输出日志缓冲区

获取cpu占用 :top

常用参数说明:

-m num Maximum number of processes to display. 最多显示多少个过程

-n num Updates to show before exiting. 刷新次数

-d num Seconds to wait between updates. 刷新间隔时间(默认5秒)

-s col Column to sort by (cpu,vss,rss,thr). 按哪列排序

-t Show threads instead of processes. 显示线程信息而不是过程

获取内存占用:dumpsys meminfo

获取指定应用程序的内存 dumpsys meminfo 包名

获取应用程序号 ps

(9) 从手机上把信息拉到本地电脑上 adb pull <手机路径> <本机路径>

从本地电脑向手机推送信息 adb push <本机路径> <手机路径>

(10) 获取当前操作Activity

adb shell dumpsys activity | findstr/grep "mFocusedActivity"

(11) adb 截图命令: screencap 保存图片文件路径

(12) adb 录屏命令: screenrecord 保存视频文件路径(默认录制时间和最长录制时间) 180 秒)

常用参数说明

--size WIDTH*HEIGHT 视频的大小,如1280*720,默认为屏幕分辨率

--bit-rate RATE 视频比特率,默认4Mbps

--time-limit TIME 录制时长,单位:秒

三:自动化UI脚本编写过程

模拟器配置配置模拟器系统

性能设置选项设置为手机版/720*如下图所示,1280

型号设置一致MI 9(个别机型可能有兼容性bug,方便统一解决问题),如下图所示

打开其它设置ROOT权限和ADB调试,如下图所示

然后保存设置会提示重启系统生效。重启系统后,cmd输入窗口:adb devices,显示以下信息,证明连接成功。

然后安装我们想要测试的测试apk

安装uiautomator(用来做xpath获得值的工具)

(1)安装uiautomator2库

pip install --pre uiautomator2

pip install pillow (如果需要截图,这个库可以安装)

(2)安装atx-agent

# init就是所有USB安装在连接电脑的手机上uiautomator2

python -m uiautomator2 init

# 指定手机安装uiautomator2, 用 --mirror

python -m uiautomator2 init --mirror --serial $SERIAL

# 不喜欢慢的话,国内镜像可用

python -m uiautomator2 init --mirror

最后提示success,代表atx-agent初始化成功。

(3)安装Weditor

pip install -U weditor

安装后,您可以在命令中运行weditor --help确认安装是否成功。

Windows该系统可以使用命令(weditor --shortcut)在桌面上创造快捷的方法,

如下图所示:

路由知识

启动weditor的方式

方法1.直接输入命令行weditor浏览器将自动打开并输入设备ip或者序列号,点击Connect即可;

方法2.桌面双击WEditor快捷方式;

方法3.命令执行python -m weditor

uiautomator常用API

参考教程https://vic.kim/2019/05/20/UIAutomator2的使用/

截至这里,安装了各种环境!

熟悉需求/用例

我们来看看两个注册模块的用例:

用例编号

模块

预置条件

操作步骤

期望结果

测试结果

1

注册

网络正常

点击注册输入正确的帐户和密码

2.弹出toast,提示注册成功,跳转到登录页面


2

注册

网络正常

1.输入注册账户和路由知识密码

2.点击注册

2.弹出账户已注册toast提示


拆解操作步骤,结果判断等

操作步骤:打开app,点击注册按钮,然后定位到帐户和密码文本框中进行相应的操作

判断:注册成功后,弹出注册成功后,会跳转到登录页面,重复注册只给出toast提示

以上是操作步骤和预期结果,在实际工作中,当问题出现时,截屏或录屏并给开发抓取log,最好给出执行用例的时间

操作步骤如下

然后我们用代码实现下图:

import osimport timeimport uiautomator2 as us#导入uiautomator2库 as取个别名称us##通过连接实例化获得设备类别driver=us.connect_usb()#通过包名启动app#录制屏幕os.system("start adb shell screenrecord --time-limit 60 /sdcard/test2.mp4 路由网 ")driver.app_start('com.example.wenhaotest')#引号为包名time.sleep(5)#通过xpath定位注册按钮,点击#driver.xpath('//*[@resource-id="com.example.wenhaotest:id/btn1"]').click()driver.xpath('//*[@resource-id="com.example.wenhaotest:id/btn2"]').click()time.sleep(5)#当注册页面的某注册页面xpath出现后,我们通过xpath将帐户和密码定位并输入相应的内容,点击注册按钮if driver.xpath('//*[@resource-id="com.example.wenhaotest:id/register_button"]').exists: #通过xpath将内容定位到帐户输入 driver.xpath('//*[@resource-id="com.example.wenhaotest:id/register_user"]').set_text("1kobe_brant2") #通过xpath定位密码输入内容 driver.xpath('//*[@resource-id="com.example.wenhaotest:id/register_mm"]').set_text("8888888888") #通过xpath定位到注册按钮,点击 driver.xpath('//*[@resource-id="com.example.wenhaotest:id/register_button"]').click() #硬等待 #唯一的登录页面xpath值定位,确认是否跳转,如登录页面有登录按钮 #通过对应函数获得app弹出的toast内容 textContent=driver.toast.get_message() print(textContent) # 硬等待 time.sl ee

喜欢 ()