(Translated by https://www.hiragana.jp/)
GitHub - Rain0193/android-catcher: android-catcher 是一个可以使用 Python 对 Android 设备进行 UI 自动化测试并采集性能数据的库
Skip to content

android-catcher 一个可以使用 Python 对 Android 设备进行 UI 动化测试并采しゅう性能せいのうすうすえてき

License

Notifications You must be signed in to change notification settings

Rain0193/android-catcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

うつしざい前面ぜんめん

本文ほんぶん主要しゅようかい绍一个基于 uiautomator2 ふうそうてきいちPythonandroid-catcher,该库てきこうのう主要しゅようゆうAndroid 设备进行 UI 动化测试さいしゅうしゅつくえ性能せいのうすうすえ,适用于如れつひょうすべり动、录制视频とうかく种测试场けい CPU、うちそん、帧率とうしんいきてき获,方便ほうべんきさき分析ぶんせき

あんそう

あんそう Python

动化测试てき脚本きゃくほんよう Python 3 うつしてきよう运行脚本きゃくほん需要じゅよう先安さきやすそう Python 3 环境
しも载地Python 3.6.5

あんそう android-catcher

开脚本目ほんめ录执ぎょう以下いか命令めいれいあんそう

pip install -r requirements.txt

Usage

uiautomator2 てき使用しよう方式ほうしき

あんそうかん uiautomator2 これきさき,一般只需要执行以下命令对设备进行初始化,ざい设备上安かみやすそう uiautomator2 ふく

python -m uiautomator2 init

现以提示ていじ表示ひょうじやすそう成功せいこう
uiautomator初始化成功
さらてき uiautomator2 てき使用しよう方式ほうしき参考さんこうhttps://github.com/openatx/uiautomator2

脚本きゃくほんぶんけん说明

这个脚本きゃくほん库根录下主要しゅようてきぶんけんゆう

  • info.pyつくえ性能せいのうしんいきさいしゅうてき脚本きゃくほん,其中てい义了ちち类 Info,やめ实现てき类有 CPUInfo(CPUしんいき)、MemInfo(うちそんしんいき)、FPSInfo(帧率しんいき)、NetInfo(网络流量りゅうりょうしんいき)使用しようしゃ以从 Info 派生はせい类来实现自己じこてきさいしゅう需求
  • task.py:测试场景てき脚本きゃくほん,其中てい义了ちち类 Task,いん为没ゆう固定こていてき测试场景,いん使用しようしゃ需要じゅよう从 Task 派生はせい类并じゅううつし Task#execute 方法ほうほうてい义的测试场景,てい义方しき参考さんこうhttps://github.com/openatx/uiautomator2
  • info_task.py:测试场景さいしゅうしんいき灵活结合てき脚本きゃくほん使用しようしゃ需要じゅようよういた
  • utils.py工具こうぐ方法ほうほう脚本きゃくほん
  • _main_.pyにん务运ぎょうてき入口いりくち脚本きゃくほんとうぼつゆう具体ぐたいてき测试场景,ただそうさいしゅう指定してい时间だんてきしんいき直接ちょくせつ运行该脚本きゃくほん

まいりすう说明

  • -s:必选さんすう指定してい设备ごうどおりadb devices 获取
  • -a:必选さんすうよう测试进程てき applicationId
  • -f:选参すうさい样间隔,单位为秒,けん议设おけぶとみじかさいこうだい于 0.1s,だま认是 1s
  • -d:选参すうさい样持续时间,だま认为10s
  • -i:选参すう需要じゅようさいしゅうてきしんいき以设おけ个,目前もくぜん选的ゆうよん个,ふん别为 cpu、mem、fps、netよう "," へだた开,如 -i cpu,mem,fps,net
  • -o:选参すうさいしゅういたてきしんいきてき输出录,如 "." 表示ひょうじとうぜん脚本きゃくほん所在しょざいてき录,だま认为 "."

なま成文せいぶんけん说明

さいしゅういたてきしんいきすえしんじいき类型ぶん别存ざい指定してい输出录的 cpu_stats、mem_stats、fps_stats、net_stats 四个子目录下,ぶん件名けんめいしんいき类型_设备ごう_applicationId_版本はんぽんごう_测试场景めい_时间戳,如 cpu_d3c2edaa_video.like_RecordVideo_1.9.9_1524122928.csv.csv,实际效果こうかだい致如

输出ぶんけん为 csv ぶんけん直接ちょくせつ开和よう Excel 开的效果こうかぶん别如
这里写图片描述
这里写图片描述
另外以为测试てきまい个阶だん添加てんかいち个节てん说明

task.period = "idle"

生成せいせい类似如下てき
这里写图片描述

无自てい义测试场けいてき使用しよう方式ほうしき

适用于没ゆう具体ぐたい测试场景,ざい脚本きゃくほん运行きさき一段时间内都处于采集状态的情况,续时间可以通过配置はいちさんすう指定してい,过程ちゅう使用しようしゃ随意ずいい操作そうさしゅつくえつう过命れいぎょう直接ちょくせつ运行 _main_.py 脚本きゃくほんぶんけん,并指定していしょう关参すう かた说我ようさいしゅう applicationId 为 video.like 这个应用 10s 内的ないてき cpu しんいきないそんしんいきさい样间隔为 200ms,输出录为とう前目まえめ录,么可以在脚本きゃくほん所在しょざいてき录执ぎょう以下いか命令めいれい

python _main_.py -s 设备ごう-a video.like -f 0.2 -d 10 -i mem,cpu -o .

脚本きゃくほん运行结束きさき以在录下いた如下图所しめせてきぶんけん生成せいせい

这里写图片描述

ちゅうよう带 -d さんすう指定していさいしゅうてきもち续时间,いや脚本きゃくほんだま认运ぎょう 10s,并且无需 -t さんすうだま认测试场けいめいRandom

てい义测试场けいてき使用しよう方式ほうしき

てい义测试场けい不能ふのう直接ちょくせつ调用 _main_.py 脚本きゃくほん需要じゅよう创建しんてき脚本きゃくほん,继承 task.py#Task 并重うつし Task#execute 方法ほうほうざい Task#execute ちゅう实现てい义测试场けいてき逻辑,如下图所しめせ

这里写图片描述

这里创建りょうめいstart_app.py てき脚本きゃくほん,运行命令めいれい

python start_app.py -s 设备ごう-a 进程めい -f 0.1 -i cpu,mem -o .

就可以启动对应的 APP,并采しゅう CPU しんいきないそんしんいきさい样间隔为 100ms,输出いたとう前目まえめ录。注意ちゅうい这里ぼつゆうりょう -d さんすういん为采しゅうてきもち续时间以测试にん务的续时间的续时间为なぞらえ,设置てきまいりすう一定要按照说明来,いや不能ふのうさいしゅういたかずすえ 如果そうさいしゅうてい义的しんいき以继うけたまわ info.py#Info 并重うつし Info#get_start_info Info#get_end_info 方法ほうほう参考さんこうやめ实现てき四种信息采集的写法,さいきさきどおりTask#add_info 方法ほうほう添加てんか

てい义好测试场景きさき,调用 _main_#main 方法ほうほう,传入测试场景实例,测试场景てき名称めいしょうかいさく为输ぶんけん命名めいめいてきいち部分ぶぶん,这里さいこうのうじゅん确表达测试场けいてき名称めいしょう,如某个 APP 录制视频测试场景てき名称めいしょうRecordVideo さいしゅういたてきしんいきどおり过 Excel せいなり图表,以下いかかんせい录制视频这个测试场景てき CPU うらない比和ひわないそんてき变化
这里写图片描述 这里写图片描述
つう过图ひょう以直观分析应よう不同ふどう版本はんぽん不同ふどう场景てき性能せいのうじょう

うつしざいさいきさき

以上いじょう就是该库てき一些使用介绍。よし工作こうさく经验ひさしあさ,Python 也是现学现用,ざいうつし这个库时,可能かのうかいゆう许多こう虑不しゅうあるかんぜんてき地方ちほう有能ゆうのうりょくてきしょう伙伴直接ちょくせつおさむあらため该库,以实现更てい义功のう,另外也希望きぼう大家たいかのう多用たよう发现问题,欢迎 issue,欢迎 star,ゆうしんてき使用しよう需求そうほう也欢むかえ提出ていしゅつきさき续会不断ふだんかんぜんかん谢!

About

android-catcher 一个可以使用 Python 对 Android 设备进行 UI 动化测试并采しゅう性能せいのうすうすえてき

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages