初识接口测试

初识接口测试

 

课程介绍  

   1、接口测试
   2、python
   3、接口自动化框架
   4、前端知识 js、css 、html
   5、selenium,前端自动化框架
   6、移动端知识,移动端自动化框架
   7、持续集成Jenkins
   8、面试、简历、算法

 

基础知识介绍

一、 自动化测试分类:1.接口自动化;

                                    2.UI自动化:a.Web自动化; b.APP自动化;

二、 接口测试工具: postman、Jmeter、SoupUI等等

三、 接口分类:http接口、webservice接口

四、Json:通用的数据类型,什么语言都认识他。

       示例:

       {
         "title":"今天巨蟹座开课啦",
         "content":"大家好好学习",
         "time":"2017-9-9"
       }

 五、session和cookie的区别:

        cookie存在前端;

        session存在服务端(redis或缓存内);

     cookie和session都是同一个值

 六、HTTP状态码

       200 请求已成功,请求所希望的响应头或数据体将随此响应返回。

       3开头  重定向

       302请求的资源临时从不同的 URI响应请求;

       4开头 请求错误

          400 Bad Request 

             1.语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。

              2.请求参数有误。
          401 访问的页面未授权,当前请求需要用户验证
          402 该状态码是为了将来可能的需求而预留的;
          403 Forbidden
             服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。
          404 没有该页面存在
       5开头 代表服务器异常
         500 服务器内部异常
         502 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
         504 服务器端超时没有返回结果;
七、接口测试用例:参数组合、正常流和异常流校验、安全类
 
工具介绍
 Jmeter:
  一、Jmeter连接数据库方法:

     1.导入jdbc的jar包,因为jmeter本身不能直接连接mysql,所以需要导入第三方的jar包,来连接mysql;

     2.在线程组中添加JDBCrequest和JDBCconnection configration;     

     3.在JDBCconnection configration中创建数据库连接配置,mysql的url、端口号、账号、密码;     

     4.写sql,执行sql查看结果;

 

二、参数化

    方法1:配置元件》用户定义的变量,设置如参数名:ip 值为:1.1.1.1,并在http请求中的入参引用这个值,方式为${ip};

    方法2:在选项》函数助手对话框》radom》设置区间》点击生成按钮》复制生成的值,在http请求中的入参直接作为值引用;

    方法3:选中取样器,右键:添加-配置元件-CSV Data Set Config,从csv文件中读取

       Filename:csv文件所在的路径以及名称如:F:\test.csv ;(其实不一定要csv文件,亲测txt格式的文件也可以)

       File encoding:给出页面的编码方式,可以不填写;这里以百度为例,它的源代码里 ,所以这里File encoding:gb2312
       Variable Names(comma-delimited):给出变量名如:name,pwd;这里的变量名是给后面引用用的,如要用到这个文件的值,可以利用变量名来引用:${name},${pwd};
       Delimiter(use '\t' for Tab):这个是用来隔开变量的分隔符,如上面的name,pwd,那分隔符就是“,”

       Allow quoted data?:是否允许引用数据,---这个目前还未弄明白,设置成True或者False都能正常引用数据。

       Recycle on EOF?:到了文件尾是否循环,True---继续从文件第一行开始读取,False---不再循环

      Stop thread on EOF?:到了文件尾是否停止线程,True---停止,False---不停止,注:当Recycle on EOF设置为True时,此项设置无效。

      Sharing mode:

         共享模式,All threads---所有线程,Current thread group—当前线程组,Current thread—当前线程。这个地方和LoadRunner中的迭代取之相反,经试验得出来的结果是:

    All threads:测试计划中所有线程,假如说有线程1到线程n (n>1),线程1取了一次值后,线程2取值时,取到的是csv文件中的下一行,即与线程1取的不是同一行。

    Current thread group:当前线程组,假设有线程组A、线程组B,A组内有线程A1到线程An,线程组B内有线程B1到线程Bn。取之情况是:线程A1取到了第1行,线程A2取第2行,现在B1取第1行,线程B2取第2行。

    Current thread:当前线程。假设测试计划内有线程1到线程n (n>1),则线程1取了第1行,线程2也取第1行。

综上:CSV Data Set Config实现的功能跟之前用的:${__CSVRead(F:\test.csv,0)}这个函数实现的功能大体上是一样的。

         

 

posted @ 2018-03-01 18:19  缘666  阅读(172)  评论(0编辑  收藏  举报