简述扫码登录原理及测试要点

扫码登录本质是解决将APP端的用户登录信息(通常是Token)通过扫码的形式安全稳定地同步给Web端。

简述扫码登录原理及测试要点

操作流程:

  • 打开登录页面,展示一个二维码(web);
  • 打开APP扫描该二维码后,APP显示确认、取消按钮(app);
  • 这时候登录页面展示被扫描的用户头像等信息(web);
  • 用户在APP上点击确认登录(app);
  • 页面登录成功,并进入主应用程序页面(web);

测试点包括哪些:

1、页面基础功能;

  • 正常场景:扫码成功,是否有提示和跳转
  • 逆向场景:扫码失败,网络异常等;
  • 扫码入口,使用当前匹配app进行扫码,尝试其他app扫码,如淘宝;
  • 其他方式:截图保存二维码扫码;
  • 其他常规:扫码不完整,扫码光线、多次扫码、不同设备扫码,退出登录后,重新扫码;
  • 非登录状态,扫码是否有提示先登录;
  • 手机权限管理,关闭了摄像头扫码,是否有提示获取摄像头权限;(是否会出现调不起闪退)
  • 兼容性:主流系统进行扫码,是否可兼容;
  • 是否有扫码错误次数限制。

2、ticket的过期时间;

  • 二维码时效性,超时扫码,重新刷新二维码后是否正常;

3、ticket的唯一性,以及生成和加密方式;

  • 用户信息校验:使用账号与当前账户不匹配的情况,是否给出提示;

为什么使用二维码扫描更安全?

手机端已经进行过了登录,在访问手机端的服务器的时候,参数中都会携带一个用户的token, 服务器可以从中解析到用户信息这里从token中取值而不是手机端直接传userid是为了安全,直接传userid可能会被截获和修改, token是加密的,被修改的风险会小很多。

长连接和轮询的区别?

当浏览器端与服务器建立连接之后,一般有两种方式可以获取到服务器的更新信息,即 polling 和 long polling。 

  • polling 即轮询,是指浏览器通过周期性轮询,查看服务器是否有更新的信息; 
  • long polling 指的是长轮询,浏览器与服务器建立连接之后,服务器将此连接进行挂起,但有更新信息时,再将信息发送给浏览器端。

浏览器端重新建立连接,如此循环反复,这是一种长连接的方式。

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

自动化测试视频教程、学习笔记领取传送门!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/123898.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

上市公司-赫芬达尔指数(2000-2022年)(数据+2种结果)

上市公司-赫芬达尔指数(HHI)可衡量一个公司在市场中的相对份额或集中度。它是由每家公司在市场中份额的平方和得到的。指数值越高,表示该市场或行业的集中度越高,竞争可能相对较小;而指数值越低,则意味着该…

uni-app学习笔记(二)

目录 一、路由与页面跳转 1、tabar与普通页面跳转例子 2、navigateTo 3、switchTab 二、vue组件 1、传统vue组件的使用 2、easycom 三、uView组件库 1、安装配置 2、引入配置 3、使用 四、Vuex 1、认识 2、state基本使用 3、mapState使用 五、网络请求 1、封装…

Maven简介

一、Maven模型 二、模型实现 三、对应代码项目介绍

JAVA开源项目 于道前端项目 启动步骤参考

1. 安装 启动过程有9个步骤: 1.1 安装 Node JS , V18版本的 (安装步骤省略) 1.2 安装 npm install -g yarn ,node JS里边好像自带npm ,通过npm的命令安装 yarn 1.3 切换到项目中去安装,npm install &a…

Android Glide transform旋转rotate圆图CircleCrop,Kotlin

Android Glide transform旋转rotate圆图CircleCrop,Kotlin import android.graphics.Bitmap import android.os.Bundle import android.util.Log import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import com.bumptech.glide.load…

[第二章—Spring MVC的高级技术] 2.2 置multipart解析器

使用Servlet 3.0解析multipart请求 兼容Servlet 3.0的StandardServletMultipartResolver没有构 造器参数,也没有要设置的属性。 这样,在Spring应用上下文中,将 其声明为bean就会非常简单,如下所示: ● 既然这个Bean方…

将Modbus转Profinet网关用于自动给料机的案例

自动给料机通过使用Modbus转Profinet网关(XD-MDPN100)连接1200PLC与G120变频器Modbus通信。这种通信方式可以实现设备之间的数据交换和控制命令传输,大大提高了自动给料机的运行效率和精度。使用这个网关,1200PLC可以准确地将控制…

基于pytorch使用特征图输出进行特征图可视化

使用特征图输出进行特征图可视化 文章目录 前言效果展示获取某一层特征图输出原图方法一:使用IntermediateLayerGetter类方法二:使用hook机制(推荐) 总结 前言 提示:这里可以添加本文要记录的大概内容: 例…

Linux进程控制(2)

Linux进程控制(2) 📟作者主页:慢热的陕西人 🌴专栏链接:Linux 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容讲解了进程等待收尾内容和进程的程序…

爱家房产网站源码 爱家房产网商业版 微信互动营销整合+手机触屏版+经纪人分销

房产网站源码手机访问自动转手机版修改修复如下: 1,修复手机版首页标题头部名称 2,修复手机版首页频道导航按钮 3,新增手机版广告位置显示方式 4,修复手机版首页内容显示样式 5,手机版头部背景颜色ic…

【Java】在实体类中常用的注解校验

1、常用注解: 注解说明Null只能为nullNotNull(message “id不能为空”)必须不为null,可以为空字符串Min(value)必须为一个不小于指定值的数字Max(value)必须为一个不大于指定值的数字NotBlank(message “姓名不能为空”)验证注解的元素值不为空&#…

【Mysql】模糊查询

目录 表: like用法 1.查询姓孙的王者荣耀英雄 ​编辑 2.查询姓孙,且名后面只有一个字的王者荣耀英雄 3.查询姓孙,且名后面有两个字的王者荣耀英雄 4.查询名字带 亮 的王者荣耀英雄 ​编辑 where...in...用法 1.查询id 为1&#x…

坐标系转换(仅作记载)

一.极坐标转换为普通坐标系 参考:极坐标方程与直角坐标方程的互化 - 知乎 (zhihu.com) 公式:(无需考虑象限引起的正负问题) 普通坐标系转换为极坐标系 参考: 极坐标怎么与直角坐标系相互转化? - 知乎 (zh…

自然语言处理中的文本聚类:揭示模式和见解

一、介绍 在自然语言处理(NLP)领域,文本聚类是一种基本且通用的技术,在信息检索、推荐系统、内容组织和情感分析等各种应用中发挥着关键作用。文本聚类是将相似文档或文本片段分组为簇或类别的过程。这项技术使我们能够发现隐藏的…

MySQL中表格的自我复制,与复制表格

先创建一个空表,my_tab01 CREATE TABLE my_tab01(id INT ,name VARCHAR(32),sal DOUBLE,job VARCHAR(32),deptno INT); SELECT * FROM my_tab01;准备一张有数据的表格: 将另一张表格的数据插入到my_tab01的表格中: -- 演示如何自我复制 --…

Spring Boot 请求/actuator/beans 无法访问 返回404

问题复现 在保证项目加入了spring-boot-starter-actuator依赖,并成功启动后。通过浏览器进行访问,返回如下图结果: 问题排查 1. 查看日志 从日志中可以看到基于路径’/actuator’下只暴露了一个端点 2. 访问http://localhost:8080/actua…

Kafka -- 架构、分区、副本

1、Kafka的架构: 1、producer:消息的生产者 2、consumer:消息的消费者 3、broker:kafka集群的服务者,一个broker就是一个节点,主要是负责处理消息的读、写的请求和存储消息。在kafka cluster中包含很多的br…

Android平台上执行C/C++可执行程序,linux系统编程开发,NDK开发前奏。

Android平台上执行C/C可执行程序,linux系统编程开发,NDK开发前奏准备。 1.下载NDK,搭建NDK开发环境 下载地址 https://developer.android.com/ndk/downloads 下载过程中点击下面箭头的地方,点击鼠标右键,复制好下载…

基于SSM的劳务外包管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…