zoukankan      html  css  js  c++  java
  • 简单的接口测试实例

    2016-08-28 19:31:22

    (一)、JMeter测试http接口

        URL:http://www.juhe.cn/docs/api/id/39/aid/132,GET方式

     

    1.打开JMeter

    2.添加——Threads(Users)——线程组

     

    3.添加请求。在线程组下面右键添加——Sampler——HTTP请求

     

     4.在web服务器输入(URL)

          服务器名称或IP:v.juhe.cn(不要将前面的http也写进去了)

          路径:/weather/ip

     

    5.同请求一起发送参数:添加

          名称           值

          format        2

          key         f4e18d4e1a23cf214c8a8e03ca57affc

          ip             58.215.185.154

     

     6.添加察看结果树

     

     6.点击运行,在察看结果树里查看结果

     

    (二)、jmter测试webservice接口

    在jmeter里面是没有Webservice请求的,但是Webservice是通过soap协议完成的,我们可以利用soap进行测试。

    URL: http://ws.webxml.com.cn/webservices/qqOnlineWebService.asmx?op=qqCheckOnline,用来检查QQ是否在线。

    默认QQ号码是8698053,返回Y 表示在线,返回N表示离线,返回E表示QQ号码错误,返回A表示商业用户验证失败,返回V表示免费用户超过数量。

    在Jmeter测试计划下添加线程组,在线程组下添加soap

    将网址复制粘贴到URL处;不要勾选“Send SOAPAction”;在Soap/XML-RPC Data处粘贴原网址SOAP 1.1标题下的内容,注意将<qqCode> </qqCode> 里的string换成8698053.

     

    添加察看结果树,可以看到结果里有<qqCheckOnlineResult>Y</qqCheckOnlineResult>,说明QQ是在线的。

     

    当然(一)、(二)的例子也可以由loadrunner实现,但jmeter不但轻巧,还可以完成功能,所以在此加以介绍。

    (三)、eclipse+jsoup测试http接口

    jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。总之,jsoup可以用来抓取网页数据。

    还是以天气预报为例:

    建立JsoupDemo工程,注意将jsoup包配置进来。

    get方法:

    package com.nicole.jsoupdemo;
    
    import java.io.IOException;
    
    import org.jsoup.Connection;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    
    public class GetTest{ 
          public static void main(String[] args){
              testJsoup();
         }
        public static void testJsoup(){
          try{            
              Connection conn = Jsoup.connect("http://v.juhe.cn/weather/ip").ignoreContentType(true);
             //调用jsoup内置的connect这个方法去链接http://v.juhe.cn/weather/ip, 并且忽略ContentType,不做这个类型的校验
              conn.data("format","2");
              conn.data("key","f4e18d4e1a23cf214c8a8e03ca57affc");//如果是密码就需要换成conn.key
              conn.data("ip","58.215.185.154");
              //调用参数
              Document doc = conn.get();
              //调用get方法
              System.out.println(doc);
              //打印出来
          }catch(IOException e){
              e.printStackTrace();
          }
            }
        }

    post方法:只要将conn.get()改为conn.post即可

    package com.nicole.jsoupdemo;
    
    import java.io.IOException;
    
    import org.jsoup.Connection;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    
    public class PostTest{ 
         public static void main(String[] args){
             testJsop();
         }
        public static void testJsop(){
          try{            
              Connection conn = Jsoup.connect("http://v.juhe.cn/weather/ip").ignoreContentType(true);
             //调用jsoup内置的connect这个方法去链接http://v.juhe.cn/weather/ip, 并且忽略ContentType,不做这个类型的校验
              conn.data("format","2");
              conn.data("key","f4e18d4e1a23cf214c8a8e03ca57affc");//如果是密码就需要换成conn.key
              conn.data("ip","58.215.185.154");
              //调用参数
              Document doc = conn.post();
              //调用post方法
              System.out.println(doc);
              //打印出来
          }catch(IOException e){
              e.printStackTrace();
          }
            }       
        }

    结果:

    其实,不管是什么接口, 它们的原理是一样的,最终封装出来的都只是一个地址而已,我们并不需要仔细关注内部是如何实现的,可以将上面测试的方法和思路应用于其他接口。

  • 相关阅读:
    tomcat7控制台日志中文乱码
    zookeeper的使用demo(c#/java)
    【备忘】mybatis的条件判断用<choose>
    不忘初心,方得始终。内存数据刷新改造小记
    又见thrift异常之TApplicationException: Internal error processing..
    Linux Shell计划任务
    Linux Shell 信号
    Linux Shell自定义函数
    Linux Shell Break和Continue
    Linux Shell while循环和until循环
  • 原文地址:https://www.cnblogs.com/kanhaiba/p/5436325.html
Copyright © 2011-2022 走看看