REST-assured 2发送文字到接口
获取token

https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRECT
#java
package date811;
import io.restassured.RestAssured.*;
import io.restassured.http.ContentType;
import io.restassured.matcher.RestAssuredMatchers.*;
import io.restassured.response.Response;
import org.hamcrest.Matchers.*;
import org.testng.annotations.Test;
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
//assertThat方法一定要静态导入
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertThat;
public class GetToken {
    @Test
    public void getToken(){
        /**
         * 获取access token
         */
        String tokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken";
        String corpId = "xxxxxx";
        String corpSecret = "xxxxxxx";
        Response res = given().param("corpid",corpId).param("corpsecret",corpSecret).get(tokenUrl).prettyPeek();
        String token_id = res.getBody().jsonPath().getString("access_token");
        res.then().statusCode(equalTo(200));
        assertThat(token_id,notNullValue());
    }
}

发送文字到接口
#java
package date811;
import io.restassured.RestAssured.*;
import io.restassured.http.ContentType;
import io.restassured.matcher.RestAssuredMatchers.*;
import io.restassured.response.Response;
import org.hamcrest.Matchers.*;
import org.testng.annotations.Test;
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
//assertThat方法一定要静态导入
import static org.hamcrest.Matchers.notNullValue;
import static org.junit.Assert.assertThat;
public class GetToken {
    @Test
    public void postMessage(){
        /**
         * 获取access token
         */
        String tokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken";
        String corpId = "xxxxxx";
        String corpSecret = "xxxxxxxxxx";
        Response res = given().param("corpid",corpId).param("corpsecret",corpSecret).get(tokenUrl).prettyPeek();
        String token_id = res.getBody().jsonPath().getString("access_token");
        res.then().statusCode(equalTo(200));
        assertThat(token_id,notNullValue());
        /**
         * 发送消息
         *     {
         *        "touser" : "UserID1|UserID2|UserID3",
         *        "toparty" : "PartyID1|PartyID2",
         *        "totag" : "TagID1 | TagID2",
         *        "msgtype" : "text",
         *        "agentid" : 1,
         *        "text" : {
         *            "content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"
         *        },
         *        "safe":0
         *     }
         */
        String req ="    {\n" +
                "       \"toparty\" : \"1\",\n" +
                "       \"msgtype\" : \"text\",\n" +
                "       \"agentid\" : 1,\n" +
                "       \"text\" : {\n" +
                "           \"content\" : \"你的快递已到,请携带工卡前往邮件中心领取。\\n出发前可查看<a href=\\\"http://work.weixin.qq.com\\\">邮件中心视频实况</a>,聪明避开排队。\"\n" +
                "       },\n" +
                "       \"safe\":0\n" +
                "    }";
        /**
         * 传参有2中方法:1,将参数加入URL 2.使用queryParam传入参数
         */
        String post_url1 = "https://qyapi.weixin.qq.com/cgi-bin/message/send";
        String post_url2 = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+token_id;
        System.out.println("方法1");
        given().contentType(ContentType.JSON).queryParam("access_token",token_id).body(req).post(post_url1).prettyPeek();
        System.out.println("方法2");
        given().contentType(ContentType.JSON).body(req).post(post_url2).prettyPeek();
    }
}

REST-assured 2发送文字到接口的更多相关文章
- HttpClient发送get,post接口请求
		HttpClient发送get post接口请求/* * post * @param url POST地址 * @param data POST数据NameValuePair[] * @retur ... 
- 短信接口调用以及ajax发送短信接口实现以及前端样式
		我们短信api用的是云信使平台提供的非免费短信服务:官网提供的demo有两种,分别是function加其调用.class文件加其调用. 在这里我们用class文件加调用: 首先,ThinkPHP里面自 ... 
- 模拟键盘发送文字(使用SendInput函数)
		嗯...老生常谈的话题, 不过系统的总结了一下, 找了个相对简单的实现方式, 可以方便的发送任何文字 参考另一片文章: http://www.cnblogs.com/-clq/archive/2011 ... 
- python接口自动化(六)--发送get请求接口(详解)
		简介 如果想用python做接口测试,我们首先有不得不了解和学习的模块.它就是第三方模块:Requests. 虽然Python内置的urllib模块,用于访问网络资源.但是,它用起来比较麻烦,而且,缺 ... 
- dos命令批处理发送文字到剪贴板
		方法一(推荐): echo 要发送到剪贴板的字 | clip 方法二: @echo off::显示要发送的文字重定向到windows临时文件夹下echo 要发送到剪贴板的字>%system ... 
- 接口测试基础——第一篇smtplib发送文字邮件
		现在我们就开始进入接口测试框架的知识准备阶段,今天是第一篇,很简单的,就是发送纯文字的电子邮件,会的童鞋可以忽略,不会的就多敲几遍,直到自己能敲出来为止~~ # coding: utf-8 impor ... 
- [Swift通天遁地]九、拔剑吧-(10)快速创建美观的聊天界面:可发送文字、表情、图片
		★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ... 
- Android简单实现Socket通信,client连接server后,server向client发送文字数据
		案例实现的是简单的Socket通信,当client(Androidclient)连接到指定server以后,server向client发送一句话文字信息(你能够拓展其他的了) 先看一下服务端程序的实现 ... 
- 模拟键盘发送文字(使用SendInput API函数)
		嗯...老生常谈的话题, 不过系统的总结了一下, 找了个相对简单的实现方式, 可以方便的发送任何文字 参考另一片文章: http://www.cnblogs.com/-clq/archive/2011 ... 
随机推荐
- (C/C++学习笔记) 十五. 构造数据类型
			十五. 构造数据类型 ● 构造数据类型概念 Structured data types 构造数据类型 结构体(structure), 联合体/共用体 (union), 枚举类型(enumeration ... 
- vector中erase用法注意事项
			以前就发现了vector中的erase方法有些诡异(^_^),稍不注意,就会出错.今天又一次遇到了,就索性总结一下,尤其是在循环体中用erase时,由于vector.begin() 和vector.e ... 
- Word2003文档窗口分成上下两个独立的窗口
			http://www.officezu.com/word/2003/index16.html 拆分窗口就是把一个Word2003文档窗口分成上下两个独立的窗口,从而可以通过两个Word2003文档窗口 ... 
- java.c++.c#.c的区别
			C++则一般看作是对C语言的扩展. Java语言是一种完全的面向对象语言,虽然它的底层(运行时库)是用C语言开发的,可是并不依赖于C. C#是微软开发的一种编程语言,语法类似Java,几乎就是从Jav ... 
- fluent nhibernate映射的数值类型问题
			fluent nhibernate中,数值类型设置不当,就可能会引发一些意想不到错误. 一.引发映射错误 比如,oracle数据库中,字段ID类型是number,结果用codesmith生成代码,实体 ... 
- Android 自定义圆形旋转进度条,仿微博头像加载效果
			微博 App 的用户头像有一个圆形旋转进度条的加载效果,看上去效果非常不错,如图所示: 据说 Instagram 也采用了这种效果.最近抽空研究了一下,最后实现的效果是这样: 基本上能模拟出个大概,代 ... 
- Linux运维学习笔记-网络技术知识体系总结
			传统网络知识体系 未来网络SND模型架构 
- 第十五篇  make中的隐式规则概述
			前面我们讲到了makefile的依赖拆分的知识,现在可以引申出这样一个问题,如果同一个目标的不同命令拆分的写到不同地方会发生什么?下面我们给出程序和执行结果: 可见后面的命令会覆盖前面的命令, ... 
- uva1482:Playing With Stones (SG函数)
			题意:有N堆石子,每次可以取一堆的不超过半数的石子,没有可取的为输. 思路:假设只有一堆,手推出来,数量x可以表示为2^p-1形式的必输. 但是没什么用,因为最后要的不是0和1,而是SG函数:所以必输 ... 
- Ribbon Status Bar
			https://documentation.devexpress.com/#WindowsForms/CustomDocument2498 官方文档说明 A Ribbon Status Bar (Ri ... 
