请问下微信小程序登录接口测试具体怎么测呀,如何调用微信code,希望有图文详细说明

请问下微信小程序登录接口测试具体怎么测呀,如何调用微信code,希望有图文详细说明

微信小程序的测试和其他产品的接口测试都没有什么太大的区别,主要就是在接口请求的时候需要携带微信的认证信息。也就是微信的token。

难点主要就是在于微信token 的获取。只要能正常获取到token,就可以正常进行接口测试。这个是微信小程序官方的,如何获取token的资料:

老师,麻烦说明下,我需要具体怎么操作么,具体让开发怎么配合,提供什么么

准备工作

  • 首先需要根据文档中的步骤1,根据你们自己的微信服务号/公众号数据生成微信登录url,url格式类似https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect,这个就是官方文档中的第一步,其中有一些错误情况,需要开启的权限和具体参数说明可以看文档,url中所需的数据需要从自己的服务号/公众号中获取,可能需要开发来协助

    • 其中redirect_uri需要在服务号/公众号管理后台进行配置的,不然会不支持跳回,测试环境是否能正常跳转回来还需要确认一下。
    • 该url需要直接通过微信打开,无法通过接口请求,所以较难做成自动化操作,暂时的解决办法我
  • 使用微信访问上一步生成的url,微信会在要求授权之后,将页面跳转到redirect_uri给出的地址,并且会在参数中增加一个code参数,这个就是最关键的数据了。必须由微信生成并且是一次性、有效期只有5分钟的数据。

  • 通过服务器请求微信的url,将上个步骤拿到的code兑换成可以多次使用的access_token,url格式类似https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code,该步骤是文章中的第二步。一般这一步也需要开发配合,不太确定直接通过本地用code请求该接口是否能拿到token数据,一般开发中是这几个授权步骤是合在一起调用的,可能并没有单独提供接口

正常登录操作

  • 通过token拉取用户的详细信息,url格式类似https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN,对应文档中的第四步,然后根据拉取到的用户详细数据与后端系统中的用户数据匹配找到对应的用户,完成身份认证。
    • token是可以重复使用的,虽然也有有效期,但是可以通过token获取步骤(第二步)中拿到的refresh_token刷新有效期,相当于可以在三十天内持续有效。

麻烦老师看下这个接口对登录有什么帮助么?
老师,麻烦您直接说一下,我需要让开发做哪些协助工作,我这边按照您说的一步步执行

1.我让开发根据微信小程序数据生成微信登录url?
2.让开发配置redirect_uri,具体怎么配置呢
3.通过服务器请求微信的url,将上个步骤拿到的code兑换成可以多次使用的access_token,这步具体咋操作呀 :joy:

看起来这个接口就是步骤2中说到的,根据code兑换回来的token数据了

  • 具体你要测试的点和步骤是什么?
  • 我感觉登录部分需要测试的就是几个方面
      1. 系统提供给用户跳转进行授权的链接是否正确,这个就看你们登录地方让用户跳转的地址具体url是什么,能不能正常拿到用户的code或者token数据
      1. 通过用户code/token是否能拿到具体的用户信息,这个根据我之前说的步骤1 步骤2去获取就行了
      1. 用户信息是否能成功登录对应用户,这个不知道你们系统具体是怎么匹配数据核对和对应用户的,需要跟开发问一下
  • 回答
      1. 如果需要通过code单独发起登录流程的话,就需要提供这个url,方便单独获取code
      1. 配置步骤只需要告知有服务号管理权限的人,在后台可以直接看到配置项
      1. url我已经写出来了呀,发请求就可以了

麻烦老师看下这个图里appid是不是咱们需要的呀,这个我在postman执行报错。这里面有哪个咱们能用上么


  • 参数直接问开发或者服务号/公众号后台管理人员比较好,没必要费半天劲自己去接口抓取,我只能说字段是需要的字段,但是里面的值是对应账号的,是不是同一个账号我并不知道,不要试图通过接口分析这些数据,本身这种操作就是不安全的

1.请问下这种使用token的方式,后期能做批量用户登录压测么
2.我们这边相当于是电商小程序,也有web端,后台。就小程序性能压测这块,老师麻烦给点思路和方法

  1. 可以的,token/refresh_token有效期内是可以多次重复使用的,需要考虑的就是如果压测时间很长需要增加一个刷新token有效期的步骤,另外就是如果需要多个用户的话需要准备多个对应的token
  2. 具体压测策略的话我不太熟,不过登录流程应该都差不多,前两步主要压力都在微信自己的服务器,这个应该不需要过多考虑压力,也没办法直接对这两步进行压测。但是在后续步骤压测后的数据中,需要考虑加上这两步的预期时间,毕竟用户体验的时候这部分消耗的时间也是有感知的

1.小程序登录压测没有必要么??
2.手机号和万能验证码是不是比token方式更容易些?估计得一万左右用户并发,这数据是不是不好造哇 :joy:
3.按照图中jmeter的压测接口设计就行吧?
4.测试环境压测完了,线上环境是不是还得压测?

  1. 看一下之前我描述的登录步骤,前两步是去访问腾讯的服务,不说code的创造并不方便,就算是你真的压测觉得不行,腾讯它也不会给你们修改呀。所以我建议是跳过这两步骤,从可以复用的token开始,并不是不测登录,是不测腾讯的登录,而是测你们自己的那部分,毕竟能修改能优化的部分测起来才有意义不是么
  2. token还是从腾讯兑换用户信息的,如果说你们打算完全跳过这部分,直接通过用户信息来登录,那就直接让开发导出一批测试用户数据模拟一下就行了,这个根据你们自己的策略来,需要测什么还是要自己定
  3. 具体压测策略这些不是我擅长的,主要是从这个功能分析一下,最终要怎么测还是结合你们自己关注的重点来考虑就好
  4. 看你们测试环境和正式环境的差别了,如果只是机器性能差别的话直接等比例计算一下就行了,这部分要找性能熟悉的人来咨询一下