• 10
  • 7
分享
  • 关于PWA的一些测试思考
  • 不知所云 2018-04-04 09:49:42 字数 3386 阅读 2916 收藏 7

现在app太多了,有的时候把整个手机的空间都占满了。所以有时候我就会清理一下我的Android机里那些不常用的app程序,来释放我那3年前手机的小小8G内部存储。有一天,突然看到一个新闻,说饿了么可以通过手机网页,免下载,直接生成一个桌面应用,而且据说可以媲美原生的native应用体验,我来了兴趣,马上试用一下。
用我的华为荣耀3C,,打开Chrome浏览器,在地址栏输入https://www.ele.me,就打开了饿了么的手机网页,再点击右上角的“更多”按钮,弹出一个对话框,点击“添加到主屏幕”,提示添加成功。回到主屏幕,此时出现一个饿了么的图标,跟应用市场下载的一模一样。点击进入程序,嗯,确实和native的体验一样的。哇,还有推送消息。不错嘛。
作为一个测试人员,只是体验这个程序还是满足不了我的。去研究一下,这个炫酷的应用的来龙去脉吧。这种直接从网页加载到手机主屏幕的技术框架是PWA(Progressive Web App),中文名全称:渐进式网页程序。Google 公司于2015 年提出,不过是在2016 年 6 月推广的。这个技术现在在国外挺流行的,因为解决了“不用下载应用,但是却可以使用应用”的这个需求的原因,所以在硬件环境恶劣的印度,更加火爆。引用一下Alex Russel的关于PWA技术的一篇博客文中的一句话:“ escaping tabs without losing our soul ”翻译过来就是“逃避但不失去灵魂”,应该说是脱离了原生app,但是却保留了完整的业务功能,可见即可用。
作为测试工程师,我们应该了解 PWA的特性,从而可以针对PWA模式的网页做测试。
根据google的定义,PWA 应该具有以下特性:
1. 渐进式属性:任何环境都能运行,包括可以进行降级运行。
2. 响应式属性:什么样的设备都可以使用。
3. 可离线应用属性:基于 Service Worker服务,在没网或者弱网的条件下也能打开网页,
4. 类app属性:类似 APP 的使用体验
5. 持续更新属性:基于Service worker服务,保持网页是持续更新状态
6. 安全属性:https网络服务
7. 可搜索属性:能被引擎搜索到
8. 推送功能:不用打开网页,推送新的消息
9. 可安装属性:不用通过应用商店,就能添加到手机的主屏幕
10. web连接属性:有一个连接就可以跳转到程序的 Web 页面
结合以上的PWA特性,我们考虑针对性的功能测试。
1. 针对1.渐进式,  2.响应式,3.离线应用这三个特性,属于对硬件和网络环境比较恶劣的情况的测试。我们可以针对性的选择以前的Android老旧机型,平板,在弱网或者断网环境下测试程序,看网页是否正常加载显示。然后可以逐步提高网络环境和硬件,测试加载速度。测试是否逐级渲染等。
2. 针对4.类app属性,可以参考app上的操作,对网页进行操作,是否流畅。如果是从手机桌面进入的程序,程序应显示该是没有URL头部的。
3. 针对5.持续更新属性,应该是像传统web一样,支持热更新,及时展示新内容。包括在原有页面刷新和重新进入web页面刷新。
4. 针对6.安全性,可以用市场上有的一些安全扫描工具加自行抓包进行测试。保证程序和数据安全。
5. 针对7.可搜索属性,利用手机端的各个搜索引擎,可以搜索并打开程序。
6. 针对8.推送功能,利用后台设置,不打开网页收取推送信息。
7. 针对9.可安装属性,测试各个主流Android厂商手机的安装并打开功能。
8. 针对10.web连接属性,可以从网络连接和安装的程序里测试打开网页功能。
以上是功能测试的内容,但是对于这个PTA的网页,因为它是可以放置在手机桌面的,像一个客户端,但是又不是app的客户端,那这个PWA网页在手机上的CPU和内存的性能测试如何进行呢?我遵循app客户端的性能测试思路,找到了办法。
1. 首先用 adb shell dumpsys meminfo  命令,我找到了这个PWA网页的进程,因为其实它还是运行在Chrome的浏览器上,所以进程是两个基于chrome的:
com.android.chrome:sandboxed_process0 (pid 8119)
com.android.chrome:privileged_process0 (pid 7232)
2. 利用adb shell dumpsys activity activities 命令,找到这个PWA程序的activity,基于Chrome浏览器运行的:
com.android.chrome/org.chromium.chrome.browser.webapps.WebappActivity
根据上面找到的1.进程名,2.Activity,就可以展开这个PWA程序的对Android机器的CPU和内存等等其他的性能测试。

再给大家介绍一个PWA应用的网址,https://pwa.rocks/,其中有很多有趣的应用,大家可以打开玩玩。

国内因为PWA技术是google的,所以现在还不如国外那样流行。但是PWA可以满足用户的几个关键需求:可以搜索到,可见即可用,用完即走,重复使用也很方便,是一个又轻又快的应用技术,发展前景十分广阔。2018可能会是PWA应用在国内大发展的一年,让我们一起期待吧。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 到处都在说2019年是互联网寒冬,今年确实人员流动,招聘需求没有往事行情好。所以今年换工作的时候,也不太如意,要么就是没有面试机会,要么就是面试总通不过。有的同学或朋友找工作都找的要发狂了,而今年我也加入了换工作的大军中,通过两周的面试,也应聘了几家公司,并找到了满意的工作,因此我们也借机讨论一下我了解到的情况。先分析一下今年的就业形势,无论做任何事情都要做到知已知彼,才会百战百胜嘛!一、人员流动小,公司需求不强在18年最后一个季度,到处都在传互联网寒冬,不少公司裁员的消息。这就会让本来有换工作打算的同学多考虑一下,工资没有提升,绩效打的差,没有关系,忍一忍先在这个岗位上过个冬再说。鉴于行情不...
            0 0 975
            分享
          • 常见状态码一、2xx 成功200 OK 请求成功,且返回了内容204 No Content 请求成功处理,但不返回内容二、3xx 重定向301 Moved Permanently 请求永久重定向302 Moved Temporarily 请求临时重定向304 Not Modified 文件未修改,可以直接使用缓存的文件三、4xx 请求错误400 Bad Request 客户端请求有语法错误,不能被服务器所理解401 Unauthorized 请求未经授权,认证未通过403 Forbidden 服务器收到请求,但是拒绝服务,通常会在响应正文中给出不提供服务的原因。通常跟权限有关404 Not F...
            0 0 683
            分享
          • 摘要:         有些人认为探索性测试是一项低成本思维的任务,测试人员只是浏览应用程序,看看会出现什么。然而我们不应该忽视这样做,因为有时它确实揭示了一些有趣的错误,但是测试人员在探索应用程序时可以遵循一些技术和模式。让我们来看一个在探索性测试中使用的两步过程。        我认为软件工程中最被低估的测试类型是探索性测试。有些人认为这是一个不费力的任务,测试人员只是浏览应用程序,看看会出现什么。  ...
            0 0 1100
            分享
          • 一、什么是真正绕过浏览器检测?https://bot.sannysoft.com 这是chrome的真正检测网址为什么要强调绕过webdriver属性检测?有些网址通过webdriver检测使得Selenium无法获取元素、无法控制按钮等情况1、PC环境打开chrome的效果一般来说普通的启用webdriver即使也是会标红的,以上是打开本地chrome的检测属性2、 普通的启动webdriver上码from selenium import webdriver class WebDriverChrome(object):   &nbs...
            0 0 7350
            分享
          •   前言  不管怎样,面试或者被面试和简历有着理不清的关系,面试官要通过简历了解面试者的基本信息、过往经历等。  面试者希望通过简历把自己最好的一面体现给面试官,所以在这场博弈中,作为面试者,需要掌握一定的技巧,写出一个高质量的简历,才能抓住面试官的眼光。  假如你是网上发出简历,你的简历必然会经过 HR 的筛选,一张简历 HR 可能也就花费 10 秒钟看一下,然后 HR 就会决定你这一关是 Fail 还是 Pass。  假如你是内推,如果你的简历没有什么优势的话,就算是内推你的人再用心,也无能为力。  一份好的简历  一份好的简历,可以给人的第一印象大大提升,那么我们如何准备一份高质量的简历...
            0 0 633
            分享
      • 51testing软件测试圈微信