代码及过程都非常标准;以后可能会很少做Rest API测试了,权且作为纪念
@Test(author="elbert.chenh", description="测试用例描述")
 public void TestCase1() throws Exception
 {
  String url ="http://apiurl?service=servicename&" +
    "seller_user_id=elbert0000800002&" +
    "trade_no=elbert0000800002&" +
    "sign=1234&sign_type=DSA&"+
    "child_order_id=800080012&"+
    "amount=100.01&"+
    "date=2010-02-05 13:13:13&"+
    "amount_type=F&"+
    "repay_type=0&"+
    "repay_channel=E&"+
    "status=T&repay_no=elbert0000800002";
  
  //清理数据现场
  String Sql1= "select * from "+SchemaName+".LOAN where CUSTOMER_ID = '80000001'";
  String Sql2= "select * from "+SchemaName+".LOAN_ORDER where trade_no = 'elbert0000800002'";
  String Sql3= "select * from "+SchemaName+".SERIAL_REPAY_RECORD where trade_no = 'elbert0000800002'";
  String Sql4= "select * from "+alibankSchemaName+".LOAN_ORDER_PAYMENT_INFO where trade_no = 'elbert0000800002'";
  deleteData("LOAN", Sql1);
  deleteData("LOAN_ORDER", Sql2);
  deleteData("SERIAL_REPAY_RECORD", Sql3);
  deleteData("LOAN_ORDER_PAYMENT_INFO", Sql4);
  //准备测试数据
  loadCaseData("TestCase1.xml",alibankSchemaName);
  //发起url请求15958189400
  System.out.println(url);
  WebConversation conversation = new WebConversation();
  WebRequest request = new PostMethodWebRequest(url);
  WebResponse response = conversation.getResponse(request);
  String ActXmlText = response.getText();
  System.out.println(ActXmlText);
  //数据库断言
dataSetLoanExp = TestData.getExpDataSet("testCase1_Exp.xml", db);
// 检测SERIAL_REPAY_RECORD
  QueryDataSet queryDataSet = new QueryDataSet(db.getConnection());
  queryDataSet.addTable("SERIAL_REPAY_RECORD", "select REPAY_NO,CUSTOMER_ALIPAY_ID,TRADE_NO,REPAY_AMOUNT," +
    "TO_CHAR(REPAY_DATE,'YYYY-MM-DD hh24:MI:SS') as REPAY_DATE,REPAY_CHANNEL,REPAY_TYPE,REPAY_STATUS,ERROR_CODE," +
    "AMOUNT_TYPE from "
    + alibankSchemaName + ".SERIAL_REPAY_RECORD where trade_no= 'elbert0000800002'");
  ITable filteredAccount = DefaultColumnFilter.includedColumnsTable(
    queryDataSet.getTable("SERIAL_REPAY_RECORD"), dataSetLoanExp.getTable(
      "SERIAL_REPAY_RECORD").getTableMetaData().getColumns());
  util.aliAssert.assertEquals(dataSetLoanExp.getTable("SERIAL_REPAY_RECORD"), filteredAccount, "ERROR_CODE", null);
  //检查loan_order表 CALCULATE_INTEREST_DATE,
  queryDataSet.addTable("tablename1", "select LOAN_ORDER_ID,....,TO_CHAR(ORDER_DATE,'YYYY-MM-DD hh24:MI:SS') as ORDER_DATE,PRODUCT_NAME,PRODUCT_COUNT," +
    "....," +
    "......," +
    "TO_CHAR(CALCULATE_INTEREST_DATE,'YYYY-MM-DD hh24:MI:SS') as CALCULATE_INTEREST_DATE," +
    "....from "
    + alibankSchemaName + ".LOAN_ORDER where trade_no= 'elbert0000800002'");
  ITable filteredAccount1 = DefaultColumnFilter.includedColumnsTable(
    queryDataSet.getTable("tablename2"), dataSetLoanExp.getTable(
      "LOAN_ORDER").getTableMetaData().getColumns());
  Assertion.assertEquals(dataSetLoanExp.getTable("LOAN_ORDER"),
    filteredAccount1);
  //LOAN_ORDER_PAYMENT_INFO 验证
  queryDataSet.addTable("tablename3", "select ....,TO_CHAR(REPAY_DATE,'YYYY-MM-DD hh24:MI:SS') as REPAY_DATE,LOAN_ID  from "
    + alibankSchemaName + ".LOAN_ORDER_PAYMENT_INFO where trade_no= 'elbert0000800002'");
  ITable filteredAccount2 = DefaultColumnFilter.includedColumnsTable(
    queryDataSet.getTable("LOAN_ORDER_PAYMENT_INFO"), dataSetLoanExp.getTable(
      "LOAN_ORDER_PAYMENT_INFO").getTableMetaData().getColumns());
  Assertion.assertEquals(dataSetLoanExp.getTable("LOAN_ORDER_PAYMENT_INFO"),
    filteredAccount2);
 }
本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/283260,如需转载请自行联系原作者

一个标准的REST API测试代码相关推荐

  1. lua52 C API测试代码

    //这是一篇lua与C++交互的情景测试 #include <lua.hpp> #include <lauxlib.h> #include <lualib.h> # ...

  2. 分享一个标准体重计算器 C#调用代码

    身体质量指数 (Body Mass Index, 简称BMI), 通过身高和体重来计算您的身材是否标准 1.计算BMI值 获取标准体重参考 注意,该示例代码仅适用于 www.apishop.net网站 ...

  3. [electron 工具] 使用 electron、vue 和 nodejs 做一个网件路由器 SOAP API 测试工具之一 ( 简介 )...

    (简介直接将主页的介绍复制过来好了) Soap-Sender 主页 1.0.1 更新记录 优化基本设置页面判断 IP 和密码的响应时间 保存基本设置页面的设置 历史记录添加 Response Time ...

  4. API测试工具Top10你都用过吗?

    你好呀!感谢你在百忙之中抽空点开了我的文章 欢迎点赞 收藏 ⭐留言 如有错误敬请指正! 我收集了一些软件测试全套资料,关注我公众号:程序员二黑,免费领取! 最困难的时候,也就是我们离成功不远的时候! ...

  5. API测试工具Top 10 你都用过吗?

    2018年API测试工具Top10 本文首发于微信公众号: [软测小生] API测试(应用程序编程接口测试)是一种软件测试类型,它着重于确定所开发的API是否满足关于应用程序的功能.可靠性.性能和安全 ...

  6. 强烈推荐这 6 款 API 测试工具,绝对有一款没听过

    Postman: Postman 是一个流行的 API 开发和测试工具,提供了丰富的功能,包括请求构建.测试自动化.数据驱动等.用户可以通过 Postman 的界面轻松创建和测试 RESTful AP ...

  7. 从0到1API测试怎么做?常用API测试工具简介

    API 测试的基本步骤 主要包括三大步骤: (1)准备测试数据(这是可选步骤,不一定所有 API 测试都需要这一步) (2)通过 API 测试工具,发起对被测 API 的 request (3) 验证 ...

  8. Postman 教程使用详解:如何安装和使用 Postman 进行 API 测试

    什么是Postman? Postman 是一个可扩展的 API 测试工具,可快速集成到 CI/CD 管道中.它于2012年作为Abhinav Asthana的一个副项目开始,旨在简化测试和开发中的AP ...

  9. API 测试的具体实现

    目录 API 测试的具体实现 基于 Spring Boot 构建的 API 使用 cURL 命令行工具进行测试 使用图形界面工具 Postman 进行测试 如何应对复杂场景的 API 测试? 总结 A ...

最新文章

  1. 嵌入式开发板加载U盘,U盘测试
  2. 【学术前沿】26 亿参数训练量,水平接近人类,Google 开发的“史上最强”聊天机器人意义何在?...
  3. Xmodem恢复交换机IOS
  4. swift golang java,解决两数之和 (Javascript, Java, C#, Swift, Kotlin, Python,C++, Golang)
  5. 常见的16进制文件头
  6. 201112阶段二qt图形视图框架
  7. ubnutu18.10拔除硬盘后进行recovery mode
  8. TensorFlow4-常量和变量及TensorBoard使用
  9. 甲醛、苯、甲苯、二甲苯对人体健康的危害
  10. 20200507:力扣151周赛下
  11. Windows server 2012 新功能试用---- powershell 3.0 进程和服务的操作
  12. RBF神经网络参数的参数优化(进化算法)+Matlab源码
  13. html查看详情,vue实现点击按钮“查看详情”弹窗展示详情列表操作
  14. idea中快速查找类和方法名
  15. Amine-PEG-Pyrene,芘丁酸聚乙二醇氨基,Pyrene-PEG-NH2
  16. 根据excel模板导出多sheet且生成条形码或二维码插入excel指定位置中
  17. 中国本土八大会计师事务所简介
  18. 如何自定义 GNOME 3 桌面?
  19. 新手都能用到的140个电脑技巧
  20. WebDriverException: Message: unknown error: cannot find Chrome binary(ChromeDriver及谷歌官网下载地址)

热门文章

  1. 用python画星座_用python做星座介绍程序。
  2. python手动绘图案例_python绘图案例——递归绘制分形树
  3. oracle指定过个时间点 job_SQL SERVER 快速恢复:生成指定时间点的恢复脚本
  4. 电脑麦克风插孔是哪个_【教程】客所思kx2传奇版接电脑控制面板调试教程
  5. oracle rac 创建ocr,Oracle rac 11g在线添加ocr,votedisk
  6. 服务器的系统搭建,服务器系统搭建
  7. 了解PostCSS原理
  8. redux解决了什么问题?
  9. 为程序员节省时间的习惯
  10. 微型计算机c320r3怎么拆,联想C320一体机拆机图解