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

 

posted @ 2021-05-26 21:14  丝瓜呆呆  阅读(192)  评论(0编辑  收藏  举报