- 博客(38)
- 收藏
- 关注
原创 adb查看包名
方法一:adb shell pm list packages方法二:adb shell dumpsys activity activities (前提条件:手机应用上只启动你要用的APP)方法三:aapt方法:语句:aapt dump badging C:\Users\mac\Desktop\655afd0440bc5c2ca24282520673a808.apk(1)下载aapt 拽到platform-tools文件夹下(platform-tools已经配置过环境变量了,拽进来就不用再配置了)(2
2020-09-28 10:52:18 4174
原创 移动端埋点自动化
参考了原创:https://www.jianshu.com/p/fc7991fb8081为了方便开展,在此记录最近做一个自动化测试的项目,要记录手机上app上报的埋点信息,需要做到自动校验思路:1.手机进入指定位置曝光上报埋点,或者手机进入指定位置,点击,进行上报埋点2.对用户的埋点落入数据库之后,检查数据库是否有对应的行为日志3.获取对应操作用户的上报的埋点信息,然后进行埋点的请求返回消息的校验目前:针对1,需要做到移动端的自动化,目前app集成了自动录制回放的功能,且对我
2021-09-03 10:07:56 551
原创 弱网测试及兼容性测试
弱网完全超时 2G/3G情况下 null返回兼容性崩溃: 自动遍历、monkey测试、横竖屏切换,快进快退卡顿(掉帧、gc、cpu): 卡顿测试、内存泄露测试、method profile测试
2020-08-05 16:39:34 360
原创 初见unittest
6个常用的断言方法:AssertEqual(a,b) 确定a=bAssertNotEqual(a,b) 确定a!=bAssertTrue(x) 确定x是trueAssertFalse(x) 确定x是FalseAssertIn(item,list) 核实item在list中AssertNotIn(item,list) 核实item不在list中...
2020-08-03 17:19:36 125
原创 接口测试
1.tcpdump+wireshark的结合使用2.charles3.chromedevtools谷歌chrome浏览器的代理插件:switchyOmega
2019-10-22 20:55:28 233
原创 多设备兼容性
适配系统android 现在基本适配:6.0,7.0,8.0,9.0ios 适配 iphone 和 ipad 基本不适配7.x 和 8.x 系统兼容性带来的质量问题:平台特性安装不上功能可用性crash业务流程中断尺寸错乱告警和报错用户体验与性能卡顿/响应慢游戏测试时花屏/黑屏/白屏(各品牌设备按理说应该是全部需要测试的,因为底层的ROM和芯片被改变)...
2019-09-09 19:43:47 616
原创 Appcrawler
初识 appcrawlergithub 下载2.4.0版本AppCrawler 2.4.0 [霍格沃兹测试学院特别纪念版]Appium 1.8.1 Java8 testedapp爬虫, 用于自动遍历测试. 支持Android和iOS, 支持真机和模拟器安装命令如下java -jar appcrawler-2.4.0-jar-with-dependencies.jarUsag...
2019-09-07 09:50:39 2207 1
原创 maxim
下载插件:https://github.com/zhangzhao4444/Maxim进入monkey.jar 和 framework.jar 的目录下执行:adb push framework.jar /sdcardadb push monkey.jar /sdcard不要忘记这一步哦~~push 到手机到 sdcard 中adb shell CLASSPATH=/sdca...
2019-09-06 21:05:42 346
原创 命令使用
/Users/apple/Library/Android/sdk/tools/bin/apkanalyzer manifest print ~/Downloads/com.xueqiu.android_11.28.1_227.apk若log显示不全,指定路径保存即可,打开log,显示如下<?xml version="1.0" encoding="utf-8"?><man...
2019-09-03 09:48:16 231
原创 初识Webview
原生APP是将页面的布局设计,以及业务代码打包然后用户下载安装使用,而webview是通过加载html文件来进行页面的展示,当需要更新页面布局的或者业务逻辑变更时,如果是原生的APP就需要修改前端内容,升级打包,重新发布才可以使用最新的。而通过webview方式的页面则只需要修改html代码或者js文件(如果是从服务器端获取,只要新的文件部署完成),用户重新刷新就可以使用更新后的,无需通过下载安...
2019-08-29 10:03:58 187
原创 Appium 基础
localhost:~ seveniruby$ $(which emulator) -list-avdsNexus_5X_API_19Nexus_5X_API_19_ARMNexus_5X_API_25Nexus_5X_API_26Nexus_5X_API_26_TesterHomeNexus_5X_API_27Pixel_2_API_23Pixel_2_API_27Pixel_...
2019-08-19 17:58:31 141
原创 selenium学习深入(PO)
cookie登录:第一次登录一个域名,网站会在 Response Header 中加入 Set-Cookie 头Browser 会保存 Cookie 与 Domain再次发起对相同domain的请求的时候,Browser 会把 Domain 对应的 Cookie 以 Cookie 头的格式发送给对应的 Domain#response set cookieset-cookie: ww...
2019-08-15 11:18:04 1380
原创 selenium学习基础
实例:百度搜索selenium 导入webdriver类from selenium import Webdriver# 调用selenium浏览器驱动,获取浏览器句柄driver = webdriver.Firefox()# 通过句柄访问URLfirst_url = 'http://www.baidu.com'driver.get(first_url)# 通过句柄控制页面元素dr...
2019-07-31 20:56:52 1271
原创 pytest基础知识2
pycharm常用的快捷键:Ctrl + Shift + F 或者连续2次敲击shift 全局查找{可以在整个项目中查找某个字符串什么的,如查找某个函数名字符串看之前是怎么使用这个函数的}pytest参数化class TestCalc: def setup(self) -> None: self.calc=Calc() @pytest.mark...
2019-07-27 17:54:35 201
原创 pytest基础--相关命令、用例排序
pytest --helppytest --collect-only:查看本目录下有多少测试用例pytest执行用例的顺序https://pytest-ordering.readthedocs.io/en/develop/setup_modulesetup_classsetup_methodteardown_methodteardown_classteardown_modul...
2019-07-22 16:28:50 597
原创 python基础
控制结构循环与判断:for 与 if…elselen():统计某个对象的长度定义函数,只是定义 不会执行def fun(): print(“hello world”)关键字参数单星*拆列表,双星**拆字典appledeMacBook-Pro:~ apple$ echo ‘print (“hello”)’ | pythonhe...
2019-07-14 14:45:01 79
原创 踩坑文章总结
mac下不同的用户权限登陆会有不同的path环境变量例如: 普通用户登陆可以打开.bash_proflieroot用户下面没有这个文件,有profile文件
2019-07-13 07:22:24 187
原创 python环境
Mac下python -v 显示出版本信息,包括库的版本python -V 表示只显示了当前版本python 是用c写的,c是基础
2019-07-12 21:19:29 116
原创 MySQL
SQL简单教程 https://www.w3schools.com/sql/安装dockerbrew cask install docker数据库的搭建docker run –name mysql -v $PWD/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=hogwarts -d mysql:5.7常见的My...
2019-07-07 22:51:43 59
原创 shell----第三篇(进阶篇)
日常实战curl命令:curl 网址 | grep 正则curl https://www.baidu.com/ | grep 正则‘^ <a title=".*"’^:精准匹配,表示这行开始时有空格,然后是<a title=awk命令awk ‘pattern{action}’ awk ‘BEGIN{}END{}’ 开始...
2019-06-25 17:57:42 97
原创 shell----第二篇(基础篇)
shell 运行环境bash下还可以再重新启动⼀个shell,这个shell是sub shell,原shell会复 制⾃⾝给他。在sub shell中定义的变量,会随着sub shell的消亡⽽消失() 子shell中运行$(ls) 表示执行ls后的结果,与``作用一致,不过可以嵌套{}当前shell中执行$$当前脚本执行的pid&后台执行$!运行在后台最后一个作业的pid...
2019-06-24 20:04:13 195
原创 Shell----第一篇(基础篇)
shell-第一篇常用的shell变量预定义变量特殊符号的使用变量类型字符串操作功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入...
2019-06-24 13:57:59 114
原创 pytest使用摘要
参考https://blog.csdn.net/qq_39721240/article/details/885464631 安装pytest命令: pip install pytest2 查询pytest的版本: pytest --version 也可以使用pip install -r requirements.txt,将pytest写入该txt文档中,并手动...
2019-04-30 11:55:19 170
原创 电量测试
android 5.0以上手机首先通过app的包名获取其PID(Process Identifier):adb shell ps |find “com.baidu.example”,获取的数据第一个参数就是UID需要将该UID换成标准格式,如下图,去掉下划线即为该app的UID通过UID和包名获取该app的自从数据线上次拔插的电量:adb shell dumpsys batterystats “com.baidu.example” |find “***”,将***替换成UID即可..
2016-10-17 14:34:36 326
转载 转自 http://hukai.me/android-performance-battery/
Android性能优化之电量篇APR 12TH, 2015 | COMMENTSGoogle近期在Udacity上发布了Android性能优化的在线课程,分别从渲染,运算与内存,电量几个方面介绍了如何去优化性能,这些课程是Google之前在Youtube上发布的Android性能优化典范专题课程的细化与补充。下面是电量篇章的学习笔记,部分内容与前面的性能
2016-10-08 10:53:36 327
原创 Android性能测试
adbdevices列出所有设备 adb-s设备名称shell进入对应的设备 cdproc进入设备的属性目录 cduid_stat进入userid状态目录,每个应用程序在安装的时候系统会为每个应用分配一个对应的uidls列出uid_stat目录下所有应用对应的userid目录 cd
2016-04-12 17:59:51 218
翻译 monkey事件百分比
首先注意一点,这个Event percentages在不同版本的SDK版本中顺序可能会不一样。下列中monkey源代码是从android4.4.2SDK中反编译出来的由上图可以看出0:触摸事件百分比,即参数--pct-touch1:滑动事件百分比,即参数--pct-motion2:缩放事件百分比,即参数--pct-pinchzoom
2016-02-26 15:46:05 4863 1
转载 内存泄露的测试
用 Heap监测应用进程使用内存情况的步骤如下:1. 启动eclipse后,切换到DDMS透视图,并确认Devices视图、Heap视图都是打开的;2. 将手机通过USB链接至电脑,链接时需要确认手机是处于“USB调试”模式,而不是作为“Mass Storage”;3. 链接成功后,在DDMS的Devices视图中将会显示手机设备的序列号,以及设备中正在运行的部分进程信息;4. 点
2015-12-30 15:43:51 281
原创 app的启动时间测试
对于app的性能测试,启动时间是个重要指标,启动时间分为两种情况,一种是冷启动时间(通常是系统重启,即在启动前没有该app进程的情况),另一种是热启动,即app从被切换到前台(点back退出后再点击图标启动)。12-13 00:10:41.331 855-957/? I/ActivityManager: [AppLaunch] Displayed Displayed com.t
2015-12-30 13:51:31 861
转载 Monkey详解
一、默认运行方式: adb shell monkey -p package.name -v 30其中: 可以继续添加一个或者两个 -v 参数, -v参数越多,输出的日志越详细 最后的数字表示,触发的事件次数为了更好的查看日志,可以将输出的日志信息重定向到文件中如:adb shell monkey -p package.name -v 30
2015-12-30 11:23:22 543
原创 java 2
java中数组的定义不能写成 int a[5],因为java中所有的东西都是分配在堆上面。但C可以java中使用关键字new创建数组对象,格式为:数组名=new 数组元素的类型[数组元素的个数]例如 int[] s; s = new int[5];元素为引用数据类型的数组中的每一个元素都要实例化。动态初始化:数组定义与数组元素分配空间和赋值的操作分开进行。先分配空间,
2015-12-30 11:18:03 180
原创 java 1
Java对大小写敏感一个源文件中最多只能有一个public类,其它类的个数不限如果源文件包含一个public类,它必须按该类名命名java程序的执行入口是main()方法它有固定的书写格式:public static void main(String args【】)//注释一行 注释多行必须定义类,才有对象。必须先定义方法,才能调用。对象通过属性at
2015-12-30 11:13:22 254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人