![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
APP测试
app测试相关知识点整理
肖遥Janic
学习AI,实践AI,分享AI|
人生有无限可能|Be prepared. Be patient~
展开
-
03-15 截图、日志与录屏
截图def screenshot(self, file): """封装截图方法""" self.driver.save_screenshot(file) ### allure 获取截图allure.attach(picture, attachment_type=allure.attachment_type.PNG)日志import logging# 添加日志logging.info("start find : \nargs: " + str(args) +原创 2021-08-30 17:17:26 · 573 阅读 · 0 评论 -
03-14 设备交互 API
来电appium-来电self.driver.make_gsm_call('5551234567', GsmCallActions.CALL)发短信appium-发短信self.driver.send_sms('555-123-4567', 'Hey lol')网络设置self.driver.set_network_connection(connection_type)截图self.driver.get_screenshot_as_file(file_path)...原创 2021-08-30 17:16:12 · 71 阅读 · 0 评论 -
03-21 webview 性能分析
主要是使用 Chrome 浏览器 F12 中的网络对接口的响应时间进行判断其中:Queuein:队列等待时间Stalled:在队列中,停止请求Waiting:服务器响应时间Content Download:下载时间原创 2021-08-31 14:01:08 · 99 阅读 · 0 评论 -
03-11 Android 纯 web 页面测试
appium 支持多种架构 APP 自动化测试:原生应用混合应用纯 web 应用:例如 手机浏览器、微信H5环境准备手机端被测浏览器:建议使用手机自带浏览器,或者 Chrome 浏览器PC 端安装 Chrome 浏览器,并且能访问 Google下载手机浏览器对应的driver版本获取手机浏览器版本信息$ adb shell pm list package | grep browserpackage:com.android.browser$ adb shell pm原创 2021-08-30 17:09:25 · 129 阅读 · 0 评论 -
03-19 分布式测试-Selenium Grid
简介Selenium Grid 远程运行 Selenium test,主旨是在多个机器上并行运行 selenium优点它是所有测试的中心入口点可以管理和控制浏览器运行的 Nodes/环境扩展并行运行测试跨平台测试负载平衡组成安装与使用环境准备:java 环境浏览器对应的 webdriver下载地址:https://www.selenium.dev/downloads/官方文档:https://github.com/SeleniumHQ/selenium/wiki/原创 2021-08-31 11:31:02 · 72 阅读 · 0 评论 -
03-12 Android 混合页面测试
如何判断页面是 webview断网查看看加载条看顶部是否有关闭按钮下拉刷新,页面看是否刷新下拉刷新,是否有网页提示方用工具查看准备工作与纯 web 页面测试一致原生 与 webview 的切换# 第一次切换driver.switch_to.context(driver.contexts[-1])# 从 webview 切换到 原生driver.switch_to.window()常见问题设备Android 6.0 的设备,默认支持 webview 操作其他模拟器和物原创 2021-08-30 17:11:17 · 64 阅读 · 0 评论 -
03-01 appium架构介绍与环境安装
appium 介绍移动端的自动化测试框架可用于测试原生应用、移动网页应用、混合应用跨平台支持 iOS 与 Android 操作系统跨语言:支持 Java、Python底层多引擎可切换生态丰富、社区强大appium 设计理念C/S 设计模式appium 环境安装相关生态工具adb:Android 的控制工具,用于获取 Android 的各种数据及进行操控appium desktop:内嵌了 appium server 和 inspector 的综合工具appium se原创 2021-08-29 15:05:55 · 138 阅读 · 0 评论 -
03-06 APP-UI自动化测试-等待方式
与 Web 自动化测试类似。强制等待(不推荐)time.sleep()隐式等待(全局性)设置一个超时时间,服务端 appium 会在指定的时间内,不停的查找,默认的时间值是 0在服务端等待用法:driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS)建议在 setup() 方法中加上注意:隐式等待仅对 查找元素 find_element() 方法生效,需要搭配显式等待使用显式等待(等待指定元素)在客户端等待,可以等待原创 2021-08-29 15:19:01 · 118 阅读 · 0 评论 -
03-09 toast 控件识别
toast 介绍简易的消息提示框显示时间有限是一个系统级别的控件,归属于系统 settings当 APP 发送消息时,不是自己造出来的弹框,而是发给系统,由系统统一进行弹框此类空间不在 APP 内,需要特殊的控件识别方法toast 定位appium 使用 uiautomator 底层的机制来分析抓取 toast,并把 toast 放到控件树内,但本身并不属于控件前置工作:设置 capabilitiescaps["automationName"] = "uiautomator2" # 默原创 2021-08-29 15:23:04 · 112 阅读 · 0 评论 -
03-17 APP自动遍历测试技术
monkey是一个在模拟器或者设备上运行的程序,用于生成用户事件的伪随机流安装Android SDK 自带使用基本配置选项adb shell monkey 100 # 对所有包随机操作 100 次操作约束adb shell monkey -p com.xueqiu.android 100 # 指定对雪球app 随机操作 100 次事件类型和频率调试选项事件计数adb shell monkey -p com.xueqiu.android -s 20 80 #原创 2021-08-31 11:26:52 · 580 阅读 · 0 评论 -
03-23 卡顿分析
卡顿影响因素:内存问题:内存抖动、full GCCPU:计算耗时render:布局复杂、overdraw(过度渲染)工具-systraceAndroid SDK 的一个小工具,存放路径:androidSDK\platform-tools\systrace环境要求:python 2.7安装 win32con: pip install pypiwin32安装 six: pip install six使用启动设备进入工具对应文件的路径下,输入命令及相关参数: python sy原创 2021-08-31 14:09:34 · 230 阅读 · 0 评论 -
03-25 内存统计
指标解析VSS:衡量虚拟内存大小,无太大用处,因为无法知道分配的物理内存大小RSS:各进程的 RSS 相加,会超过系统内存使用量PSS:各进程的 PSS 之和,就是系统的内存使用量USS:是 PSS 中各自分配的部分,不包含任何共享的部分各指标的大小关系:VSS >= RSS >= PSS >= USS查看 3 小时内的内存使用情况:adb shell dumpsys procstats --hours 3查看指定进程的内存使用情况:adb shell dumps原创 2021-08-31 14:13:38 · 87 阅读 · 0 评论 -
03-30 兼容性测试
简介多个硬件之间,多个软件之间,或者是软硬件之间的相互配合程度APP 兼容性测试移动设备型号多用测试 APP 在主流设备上能否正常运行测试 APP 在主流设备上崩溃卡顿现象兼容性测试的作用进一步提高产品的质量,提高用户体验尽可能做到平台无关性保证软件存在价值,是衡量软件质量的重要指标是软件产品的市场更广阔测试方法人工测试借助第三方工具:appcrawler...原创 2021-09-01 13:48:25 · 51 阅读 · 0 评论 -
03-20 专项测试-APP 启动性能分析
Activity 启动流程Application OnCreate加载第三方的 sdkActivity OnCreate加载自身的逻辑发送远程数据请求渲染界面APP 启动性能指标冷启动:最重要的启动指标,着重优化,建议时间 5 秒暖启动:建议时间 2 秒热启动:建议时间 1.5 秒首屏启动测试的主要流程adb logcat:不够准确录屏 + 视频拆帧:较准确,需要人工操作uiautomator 等自动化工具,进行 200ms 巡检界面变化trace原创 2021-08-31 13:59:43 · 148 阅读 · 0 评论 -
03-02 capabilities 设置
测试用例的重要部分导入依赖from appium import webdrivercapabilities 设置初始化 driver webdriver.remote隐式等待,增强用例的稳定性元素定位与操作断言capabilities 设置官方文档说明常用参数键描述值noReset在当前 session 下不会重置应用的状态。默认值为 falsetrue, falsefullReset(iOS)删除所有的模拟器文件夹。(Android) 要清原创 2021-08-29 15:09:14 · 292 阅读 · 0 评论 -
03-22 H5 性能分析
资源加载指标prompt for unload:访问一个新页面时,就业面卸载完成的时间redirect:重定向,用户注销登录时,返回主页面和跳转到其他的网站等app cache:检查缓存,是否打开DNS:DNS 查询的时间,如果是长链接或者请求文件来自于缓存的本地存储,则返回 fetchStart 时间点TCP:与服务器建立链接的时间request:浏览器发起请求的时间response:拿到第一个响应字节到最后一个响应字节的时间processing:各种状态的时间点load:触发 loa原创 2021-08-31 14:04:34 · 122 阅读 · 0 评论 -
03-29 健壮性测试
简介用于测试系统在出现故障时,是否能够自动恢复,或者忽略故障继续运行操作过程对应用进行忙点:使用 monkey,appcrawler网络不佳:Charles数据不通原创 2021-09-01 13:47:13 · 244 阅读 · 0 评论 -
03-03 APP 控件定位
Android 基础知识Android 是通过容器的布局属性来管理子控件的位置关系布局过程就是把界面上的所有控件,根据其间距的大小,摆放在正确位置Android 的七大布局LineLayout:线性布局RelativeLayout:相对布局FrameLayout:帧布局AbsoluteLayout:绝对布局TableLayout:表格布局GridLayout:网格布局ConstraintLayout:约束布局Android 四大组件activity:与用户交互的可视化界面se原创 2021-08-29 15:12:57 · 150 阅读 · 0 评论 -
03-26 网络流量分析
显示网络流量(建议使用真机):adb shell dumpsys netstats对指定应用进行流量分析adb shell dumpsys package 包名 | grep userId获得 userId 后:adb shell dumpsys netstats | grep userId原创 2021-08-31 14:15:13 · 102 阅读 · 0 评论 -
03-27 耗电量测试
耗电量指标待机时间(重点关注指标)安装与使用battery-historianhttps://github.com/google/battery-historian环境需要配备 Go 语言的环境原创 2021-09-01 13:44:05 · 66 阅读 · 0 评论 -
03-05 APP自动化测试-常用定位方式
id 定位dirver.find_element_by_id(resource-id 属性值)driver.find_element_by(MobileBy.ID, resource-id 属性值)accessibility_id 定位driver.find_element_by_accessibility_id(content-desc 属性值)driver.find_element_by(MobileBy.ACCESSIBILITY_ID, content-desc 属性值)xpath原创 2021-08-29 15:17:09 · 210 阅读 · 0 评论 -
03-10 断言
普通断言-assert遇到断言失败,立即抛出异常,不再往下执行hamcrest 断言hamcrest / PyHamcrest介绍能组合成灵活表达式的匹配器类库用于编程断言的框架可提高可读性与开发测试效率可扩展性强支持多种语言安装pip install hancrest使用hamcrest断言基于Python语言Hamcrest断言的使用...原创 2021-08-30 17:07:36 · 75 阅读 · 0 评论 -
03-24 CPU 统计
CPU 与 GPU 的关系中间层维护一个队列CPU 将 display list 放入队列GPU 从队列中获取数据进行绘制图形 API 不允许 CPU 直接与 GPU 通信通过中间层来连接这两部分GPU 渲染工具Android 开发者工具提供的性能调优工具Profile GPU rendering页面说明:此工具会绘制每一帧所消耗的时间不同颜色,代表 UI 绘制的不同阶段在柱状图中,有一条绿色横线代表 16ms 的绘制时间基准GPU 会统计并显示 APP 最近原创 2021-08-31 14:12:34 · 98 阅读 · 0 评论 -
03-13 微信小程序自动化测试
小程序的运行环境准备工作设置 chromedriver 正确版本设置 chrome option 传递给 chromedriver使用 adb proxy 解决 fix chromedriver 的bug微信小程序自动化测试辅助工具adb proxy微信小程序自动化测试辅助工具adb proxy基本 capability 设置...原创 2021-08-30 17:13:34 · 103 阅读 · 0 评论 -
03-18 OpenSTF-手机设备管理平台
简介OpenSTF 是一个手机设备管理平台可以对手机进行远程管理、调试、远程手机桌面监控等操作安装参考文章:https://www.jianshu.com/p/8f8c36450de6建议使用 docker 安装拉取镜像docker pull openstf/stf:latestdocker pull sorccu/adb:latest # 不建议docker pull rethinkdb:latest启动 rethinkdbdocker run -d --name rethin原创 2021-08-31 11:29:30 · 204 阅读 · 0 评论 -
03-07 APP 控件交互
元素的常用方法点击方法: element.click()输入操作: element.send_keys()设置元素的值: element.set_value()清除操作: element.clear()是否可见: element.is_displayed() ;返回 Ture / False是否可用: element.is_enabled() ;返回 Ture / False是否被选中: element.is_selected() ;返回原创 2021-08-29 15:20:53 · 112 阅读 · 0 评论 -
03-28 弱网测试
弱网问题封闭环境,网速降低丢包数据无法加载消息更新不及时弱网速度常用网速展示:工具与使用使用 charles 进行弱网测试https://blog.csdn.net/qq_24373725/article/details/80060609原创 2021-09-01 13:45:51 · 100 阅读 · 0 评论