1. 背景
春招热季,在招聘火热之际,面试了一家主打研发C端产品的企业,在相关面试环节,面试官考了我一个小知识点 : " 如何判断一个APP页面是原生的还是H5页面 " 不知道你工作种是否由留意
在各方面渠道以及群聊咨询各位前辈,得到相关如下的总结,分享给大家, 望大家在后期面试以及工作中,进行复用
注:常见的几种Hybrid(混合)开发的情况
2. 释义
Hybrid(混合的)APP指的是半原生半Web的混合类App; 需要下载安装, 看上去类似Native App, 但只有很少的UI Web View, 访问的内容是 Web
注:原生是Native APP,H5就是Web App
现在移动端的实现早已不是单纯的原生态开发了,更多的是嵌入H5的实现方式,比如说月亮天使,SFA; 还有部分app是纯H5的, 例如行政服务
3. 主题
在Hybrid(混合的)当中, 如何快速的判断一个APP页面是原生的还是H5页面呢?
a. 看断网的情况
把手机的网络断掉, 然后点开页面, 然后可以正常显示的东西就是原生写的,显示404或则错误页面的是html页面
b. 看布局边界
开发者选项->显示布局边界,页面元素很多的情况下布局是一整块的是h5的,布局密密麻麻的是原生控件。页面有布局的是原生的,否则为h5页面(仅针对安卓手机试用)
c. 页面文本是否可选(适用IOS)
比如是文章资讯页面可以长按页面试试,如果出现文字选择、粘贴功能的是H5页面,否则是native原生的页面
有些原生APP开放了复制粘贴功能或者关闭了。而H5的css屏蔽了复制选择功能等等情况。需要通过对目标测试APP进行对比才可知
这个在支付宝APP、蚂蚁聚宝都是可以判断的
d. 看Loading的方式
如果在打开新页面导航栏下面有一条加载的线的话,这个页面就是H5页面,如果没有就是原生的。
微信里面打开我们的H5页面常见的有个绿色的 加载线条
e. 观察App顶部导航栏是否会有关闭的操作
如果APP顶部导航栏当中出现了关闭按钮或者有关闭的图标,那么当前的页面肯定的H5,原生的不会出现(除非设计开发者故意弄的)
美团的、大众点评的APp、微信APP当加载h5过多的时候,左上角会出现关闭2字
f. 通过判断页面下拉刷新
如果界面没有明显刷新现象的是原生的,如果有明显刷新现象(比如闪一下)的是H5页面(ios和android)
比如淘宝的众筹页面
g. 返回按钮的响应
原生在返回按钮中是做了click事件的,即click按钮,会有变灰的效果,而H5是没有做这样的效果的
h. 下拉页面的时候显示网址提供方的一定是H5
例如问卷星等相关产品
总结大概如以上这些点, 都是一些比较简易有效的方法,希望大家学以致用,如果有更多好的方法,请留言补充,支持小编的分享,请点赞、转发,广而告之,谢谢各位一路的支持
PS:部分文章整合于网络资源,转发请备注来源于个人号:软件测试小黑屋
加群/领取Python、测试学习资料加小编微信