评论

小程序云测服务进阶使用—在自定义脚本中发送外网请求

小程序云测服务进阶使用—在自定义脚本中发送外网请求

背景

因云测跑minium用例脚本时,不支持访问外网,所以用例脚本中不支持给外网发送请求

我们发现在实际使用中,部分业务需要在用例脚本中,通过调用后台接口方式,配合用例执行。例如某个医疗业务的实际场景如下:

医疗业务一般有医生端和患者端2个小程序,在测试患者端提交病情描述后,需要医生端生成处方,才能继续执行。
如果同时操作2个小程序测试,难度很大且需要小程序来回跳转,用例稳定性较差。

比较好的做法是,在患者端小程序做UI自动化,提交病情后,通过调用后台接口让医生端生成处方,接口调用完成再继续在患者端小程序执行后续用例。

解决方案

我们虽然无法在Case中发送外网请求,但是可通过真机上的小程序端 利用 wx.request 发送外网请求。

那么如何在小程序端发送请求呢?此时可以利用Minium的 call_wx_method 方法实现。 具体实现步骤如下:

1、 配置白名单

小程序端发送请求,需要将请求的域名在微信公众平台上加入白名单才行。如果已经添加,可忽略。

加入白名单流程如下,更多信息也可以参考 官方文档

  • 扫码登录 微信公众平台
  • 开发—开发管理—开发设置—服务器域名 中配置域名,本步骤需要小程序管理员授权。
2、 在Case中发送外网请求

示例代码如下:

def test_request(self):
    # 发起request请求
    # 响应信息req_info
    req_info = self.app.call_wx_method(method="request",
        args={
            # 请求url
            "url": "https://xxxx",
            # 请求参数
            "data": {"content": "111"},
            # 请求方式
            # "method": "POST"
        }
         ).get("result", {}).get("result")
    # 打印响应信息
    self.logger.warn(req_info)

测试结果

需要帮助

如果在微信小程序自动化测试过程中遇到任何问题,欢迎在 微信小程序云测服务 专区发帖反馈

也可以微信扫描二维码加入云测官方企业微信群,联系MiniTest小助手反馈

最后一次编辑于  2023-06-16  
点赞 0
收藏
评论
登录 后发表内容