移动端相关知识点
2022-08-20 22:21:57 0 举报
AI智能生成
为你推荐
查看更多
移动端测试知识梳理
作者其他创作
大纲/内容
iOS端通过webagentdriver实现一个服务,支持webdriver协议
iOS (xcuitest -uiautomation)
appium基于WebDriver协议,利用Bootstrap.jar,最后通过调⽤用UiAutomator的命令,实现App的自动化测试
bootstrap就是appium架构中放在手机端的一个服务器
android (uiautomator2-instumentation)
selenium是浏览器上实现webdriver的驱动,而WebDriverAgent则是iOS上实现webdriver的驱动。
web(selenuim)
selenium中的webdriver就是浏览器驱动,比如ChromeDriver等,驱动实现了webdriver协议appium中的webdriver是appium server
webdriver
appium框架图
使用系统自带的自动化框架
C/S模式,让它支持多语言,client只要能跟server通信就行
appium
底层的驱动与appium相同
不同点在于对控件的封装单独拿出来了,以及对各种常规操作方法做了统一的封装,为实现跨平台的测试脚本提供了遍历;提供了测试套管理,测试任务、测试报告管理能力
后续新增了ocr 图像智能识别定位控件的能力
qta
airtest
selenium
ui自动化测试
数据的重复创建。
第⼆部分使⽤openGL渲染。
耗电量主要集中于CPU和Display.无法避免,所以重点看CPU的耗电情况,
iOS
函数的高频调用会增加耗电
Android
尽量使用硬解码
软硬件解码梗耗电
发热原因是⽹络请求、界⾯更新以及视频播放多⽅⾯影响,连续切换60个视频也会达到发热地步,减少资源下载和接口请求评率
⼤量动画堆积,造成cpu一直解码,⻓期使⽤会造成发热
共性问题
FPS
APP性能测试
onCreate:create表示创建,这是Activity生命周期的第一个方法,也是我们在android开发中接触的最多的生命周期方法
onStart:start表示启动,这是Activity生命周期的第二个方法。此时Activity已经可见了,但是还没出现在前台,我们还看不到,无法与Activity交互。
onResume:resume表示继续、重新开始,这名字和它的职责也相同。此时Activity经过前两个阶段的初始化已经蓄势待发。Activity在这个阶段已经出现在前台并且可见了。
onPause:pause表示暂停,当Activity要跳到另一个Activity或应用正常退出时都会执行这个方法。此时Activity在前台并可见
onStop:stop表示停止,此时Activity已经不可见了,但是Activity对象还在内存中,没有被销毁。这个阶段的主要工作也是做一些资源的回收工作。
onDestroy:destroy表示毁灭,这个阶段Activity被销毁,不可见,我们可以将还没释放的资源释放,以及进行一些回收工作。
onRestart:restart表示重新开始,Activity在这时可见,当用户按Home键切换到桌面后又切回来或者从后一个Activity切回前一个Activity就会触发这个方法。
activity生命周期
android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。
Activity
service用于在后台完成用户指定的操作
service
android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。其他应用可以通过ContentResolver类从该内容提供者中获取或存入数据。
content provider
broadcast receiver
四大组件
四大组件间的 枢纽——Intent(意图),Android通信的桥梁
android
注册系统通知都在这里进行
didFinishLanched
didBecameActive
WillRisignActive
didEnterBackground
WillEnterForeground
WillTerminate
APP 生命周期
delegate模式
notification
消息中心
把对象转成data存入本地文件
归档
通过plist文件存小量数据
userDefault
sqllite
coreData
数据持久化
document --需要长期保存的数据
libray
tmp
沙箱
MVC模式
移动端编程基础
技术栈JavaScript + vue
坑比较多 很多东西不支持
Weex
通过客户端进行的页面渲染,速度上比 WebView 渲染还是要快不少
可接受的页面性能
RN 只需要一套代码,就可以运行在双平台上
高效开发
支持热更新
热更新
优点
缺点是跟 Web 相比,支持的能力非常有限,特定长场景问题,需要三端团队一个一个处理;
需要 IOS 和 Android 开发帮助我们去一个一个的绘制组件
缺点
技术栈JavaScript + React
React Native
H5 是依赖于浏览器渲染,RN 依赖于客户端渲染,而 Flutter 基于 Skia 自己绘制的图形界面
一套代码可以运行在两端;自绘 UI,脱离平台,也可以简单的把它理解为一个浏览器的子集
技术栈 前端语言Dart
Flutter
主流框架
移动端知识点
0 条评论
回复 删除
下一页