APP专项测试实战1
首先,如果测试需要用到的话,还是建议一下大家去看下Android-studio的官方文档。文档地址:Documentation | Android 开发者 | Android Developers (google.cn)
然后点击performance,基本上就是性能方面的指南了
webView性能
Google中的Network
web弱网
可以模拟手机,模拟弱网
过滤表达式:
domain :展示domain中的资源,域名筛选
has-response-header:包含指定HTTP响应header
is:表达式
larger-than:展示大于某个尺寸的资源,1000等于1K
method: 指定HTTP请求方法,比如:get或者是post
mime-type:资源mime类型,比如application/json
status-code: 状态码
例子:
1、大于10K的图片资源:
mime-type:image/png larger-than:1K
2、所有状态码为304的http请求:
scheme:https status-code:304
3、域名以.com结尾,使用http协议
domain:*.com scheme:https
Google的performance
可以查看调用关系图和布局图
绿线:提前进行了页面的渲染,在蓝线之前FP/FTP。让用户有更好的体验。
解析HTML中断,遇到js,相当于预加载
在main下面有调用关系图
frames->layers:可以查看页面布局
W3C的内容可以查看我前面的博客:H5性能分析 - 丝瓜呆呆 - 博客园 (cnblogs.com)
以卸载举例:unload :处理同源时,进行时间 计算。时间是格林威治时间。现在很多都是用W3C,插针计算
同源是protocol、port和host相同
appium性能获取
在pycharm中创建testperformance.py文件
如果手机上要测试webview,需要研发开启调试开关
利用
window.performance.timing
代码:
from appium import webdriver
from selenium.webdriver.common.by import By
def test_app():
caps = {}
caps["platformName"] = "Android"
caps["deviceName"] = "127.0.0.1:7555"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["noReset"] = "true"
caps["chromedriverExectable"] = "D:/develop/chromedriver/2.20.exe"
driver = webdriver.Remote("http://localhost:4723/wd/hub",caps)
driver.implicitly_wait(15)
driver.find_element(By.XPATH,"//*[@text='交易']").click()
webview = driver.contexts[-1]
driver.switch_to.context(webview)
performance = driver.execute_script("return window.performance.timing")
print(performance)
bash 性能获取
Linux上很多命令都可以在安卓手机上运行,vmstat,top都可以
adb shell top -n 1 | grep xueqiu
例如:
例子:
while true;do adb shell top -n 1 | grep xueqiu | awk '{print $3}';done
adb shell monkey -p com.xueqiu.android -v 200 2000
monkey执行什么事件是随机的,但是可以设置百分比。 例如触摸事件:--pct-touch 20
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示