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