移动端测试注意事项

1.兼容问题

  • 浏览器兼容:iOS/安卓点击唤醒浏览器事件
  • 界面兼容

2.点击事件click

参考博文【侵权删】https://www.cnblogs.com/xzybk/p/11906938.html

(1)触摸事件:touchstart、touchmove和touchend

  

  • touchstart事件:当在屏幕上按下手指时触发
  • touchmove事件:当在屏幕上移动手指时触发
  • touchend事件:当在屏幕上抬起手指时触发
  • touchcancel事件:当一些更高级别的事件发生的时候(如电话接入或者弹出信息)会取消当前的touch操作

(2)点击事件

  • 防抖:不管触发频率多大,都在停止触发之后的给定时间触发
  • 节流:不管触发频率多大,都以恒定频率触发

(3)常见问题:touch事件及click事件同时绑定在一个元素上

  • 点击事件click出现300毫秒延迟

    • 产生原因:双击缩放功能,双击缩放的原理是当用户click一次之后,浏览器会经过约300ms之后检测是否再有一次click,如果有的话,就会缩放页面,否则的话就是一个click事件。
    • touch, click事件的执行顺序: touchstart > touchmove > touchend > click,即touch事件执行完毕后才会到click事件,这就是300ms的延迟。
    • touchmove ,click事件互斥,即touchmove触发执行,click事件不再执行 ,事件的执行顺序就为touchstart > touchmove(可以多次执行) > touchend 。
  • 点透事件:A显示在B浮层之上,A发生touch(也可以是click)后立即消失,B事件绑定click
    • 短暂触摸(点)一下屏幕,touch事件及click事件的执行顺序:touchstart > touchend > click
    • 点透发生的原因: 当手指触摸到屏幕的时候,系统生成两个事件,一个是touch 一个是click,touch先执行,touch执行完成后,A从文档树上面消失了,而且由于移动端click还有延迟200-300ms的关系,当系统要触发click的时候,发现在用户点击的位置上面,目前离用户最近的元素是B,所以就直接把click事件作用在B元素上面了,因此元素B被莫名点击了
    • 解决方案:touch阶段取消掉 click 事件,即阻止触发touch事件完成后的click事件

3.授权头

  • 已登录:授权头
  • 未登录:虚拟授权头
  • 登录过期:过期授权头———服务端返回401

注意事项

  • 未登录切换至登录状态。未登录状态使用虚拟授权头,从未登录切换到登录状态时需使用真实用户授权头,若当前页面未重新请求,调用协议时虚拟授权头和真实授权头均会返回,若错误选择使用虚拟授权头,由于每次退出重登虚拟授权头都不同,对应的虚拟UID也不同,因此在将UID作为用户唯一性判断场景中,可能会导致薅羊毛事件发生;
  • 授权头过期,服务端一般会返回401,该场景一般不多见,但仍需要做一些预防措施,防止在该种场景下,用户无法操作;

4.优化

(1)懒加载:懒加载其实就是延时加载,即当对象需要用到的时候再去加载

  • 图片懒加载:当我们打开一个页面时,浏览器就会从上往下读取页面中的标签src中的地址,并且开启线程来进行加载。当用户的网速不给力或者此页面中的图片太多时,就会发生每张图片都加载了一点但是都没有加载完成,导致最后没有一个图片能正常显示。此时需使用懒加载技术以降低资源耗用——即只加载可视窗口区域的图片,当用户向下拖动滚动条时再继续加载后面的图片(也是只加载目前可视窗口区域内的图片)
  • 轮播组件懒加载

原文地址:https://www.cnblogs.com/jasmine0112/p/12673165.html

时间: 04-13

移动端测试注意事项的相关文章

Web端测试和移动端测试的区别

之前参加的项目有涉及Web端测试和移动端测试,简单的记录下他们之间的区别: 1.记录bug 在Web端可以通过系统自带的截图和QQ截图等方式来截取bug的图片,对于错误的地方可以用工具自带的标识来重点标记. 对于移动端设备可以用手机自带的截图工具来截图然后传到电脑上,个人一般习惯安装微信的windows版本,通过文件传输助手发送到PC端.还有一种比较便捷的方式,将手机用数据线连接到电脑,本地配置android的运行环境,下载asm.jar,在cmd运行java -jar asm.jar,即可实时

移动端开发注意事项记录

移动端开发注意事项记录 1.移动端WEB开发常见问题 2.webapp开发技巧 3.移动端开发需要注意的20个要点 4.移动平台3G手机网站前端开发布局技巧汇总

移动端测试:优化原有功能,改动接口需要兼容新旧版本

在测试线下培训V1.0.1(月亮天使V4.8.0)时,因为在这个版本中改动了课程状态变更的逻辑,由原来的由教师点击上下课来更新课程状态,到根据排课时间,使用定时器来更新课程状态,在逻辑上有了很大的变化. 而且界面上,我的授课由原来的三个页签减少为两个,以及对应的角标数量统计等等多种情况.最初没有考虑到兼容旧版本的功能,导致修改后的接口对应不上,导致旧版的部分功能调用修改后的接口,返回参数异常等错误. 本次更新也不是强制更新的,所以后面修改接口或新增接口,兼容旧版本,以保证旧版本的正常运作,但是我

系统测试与端到端测试:哪一个更适合选择?

在软件行业,我们总是在选择更快的版本和质量的版本之间的两难选择,但是两者之间总是有一个很好的平衡.我们都期望速度和质量同时,这是一个相当困难的一个. 测试下软件产品的寿命 什么是系统测试? 为什么系统测试很重要? 什么时候开始系统测试? 什么是端到端测试? 为什么端到端测试很重要? 什么时候开始端到端的测试? 系统测试与端到端测试的区别 系统测试还是端到端测试还是两者兼而有之? 测试下软件产品的寿命 一旦从客户获得业务需求,产品的生命周期就开始了.负责该项目的有关小组将对此进行彻底分析,并进一步

vue-cli 脚手架基于Nightwatch的端到端测试环境的过程

不同公司和组织之间的测试效率迥异.在这个富交互和响应式处理随处可见的时代,很多组织都使用敏捷的方式来开发应用,因此测试自动化也成为软件项目的必备部分.测试自动化意味着使用软件工具来反复运行项目中的测试,并为回归测试提供反馈. 端到端测试又简称E2E(End-To-End test)测试,它不同于单元测试侧重于检验函数的输出结果,端到端测试将尽可能从用户的视角,对真实系统的访问行为进行仿真.对于Web应用来说,这意味着需要打开浏览器.加载页面.运行JavaScript,以及进行与DOM交互等操作.

2.移动端测试环境准备

1.第一阶段移动端测试环境搭建 移动端自动化测试的基础环境配置 1.1 安装Java环境 Android应用为例讲解,需要安装java环境 1.2 SDK环境 Android依赖SDK的环境 1.3 模拟器环境 考虑大家连接真机不方便,所以采用模拟器替代 1.1.Java环境安装 1.1.1 安装JDK1.8 运行jdk-8u151-windows-x64.exe文件,默认安装即可(例如我的安装目录:C:\Program Files\Java\jdk1.8.0) 1.1.2 配置java环境变量

移动端测试——APP元素信息[事件]操作API和APP模拟手势高级操作(4)

appium基础API 1.1 APP元素信息操作API 介绍手机端元素信息的获取以及基本的输入操作 前置代码 # 导入driver对象 from appium import webdriver import time # server 启动参数 desired_caps = {} # 设备信息(系统.版本.设备号) desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '9' desired_cap

移动端测试——手机常见操作的API (5)

appium基础API 1.1 常用的手机操作API 针对手机的一些常用设置功能进行操作 前置代码 # 导入driver对象 from appium import webdriver import time # server 启动参数 desired_caps = {} # 设备信息(系统.版本.设备号) desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '9' desired_caps['dev

移动端测试——APP元素定位操作 (3)

一.appium基础API讲解 1.1 APP元素定位操作 建议: 使用显示等待 能用id.class定位就不用xpath定位 只要看的见的,用xpath的text就是万能的 手工测试主要通过可见按钮操作,而自动化是通过元素进行交互操作 元素的基本定位基于当前屏幕范围内展示的可见元素 前置代码 # 导入driver对象 from appium import webdriver import time # server 启动参数 desired_caps = {} # 设备信息(系统.版本.设备号