zoukankan      html  css  js  c++  java
  • Rest Assured从入门到遇到各种问题(汇总、更新)

    目前还在最初级

    用微信企业版模拟发送应用消息

    maven项目使用Junit5执行单元测试,使用rest assured 发送post请求,代码如下:

     @Test
        void sendMSG(){
            given()
                    .queryParam("access_token", token)
                    .body("{
    " +
                            "    "touser" : "@all",
    " +
                            "    "toparty" : "@all",
    " +
                            "    "totag" : "@all",
    " +
                            "    "toall" : 0,
    " +
                            "    "msgtype" : "text",
    " +
                            "   "agentid" : 1000002,
    " +
                            "   "text" : {
    " +
                            "       "content" : "明天就周五啦~继续元气满满吧~"
    " +
                            "   },
    " +
                            "   "safe":0
    " +
                            "}")
                    .when()
                    .log().all()
                    .post("https://qyapi.weixin.qq.com/cgi-bin/message/send")
                    .then()
                    .statusCode(200);
        }
    

    备注:接收人不能为空,会报错,@all让全部人员收到;

    问题1:post请求中,既有请求URL自带参数,又有json入参的时候,使用param()、body()会报错;

      解决方法(好像是最基础的常识问题):使用queryParam() 、body() 就可以了;

    问题2:因为发送的content是中文,虽然消息正确发送了,但是手机微信上面收到的信息却是“?????~?????~“

      解决方法:在body()后面加上.contentType("application/json"),这样就会将之前请求的Header中的Content-Type=text/plain; charset=ISO-8859-1,转成 Content-Type=application/json; charset=UTF-8,就能收到中文消息了。

    问题3:有依赖参数的时候,想使用Junit5的@ParameterizedTest、@MethodSource("getToken") 来参数化,联想不出来,也查找不到maven依赖

      解决方法:参数化在Junit5中属于独立的一块,需要另外导入maven依赖:junit-jupiter-params,查找加入就可以了

    
    
    
  • 相关阅读:
    快速编辑里指定默认值
    Odoo domain 中的 like, ilike, =like, =ilike 举例说明【转】
    odoo报表条码无法显示解决[转]
    ubuntu 安装 wkhtmltopdf 的方法
    解决Odoo日期(时间)无效的问题 [转]
    ShareSDK演示
    黑客帝国数字矩阵特效做法
    lua中实现倒计时
    Lua中用Split函数分割字符串
    lua封装的位运算
  • 原文地址:https://www.cnblogs.com/f-ichigo/p/13497360.html
Copyright © 2011-2022 走看看