• 初识接口测试


    初识接口测试

     

    课程介绍  

       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: est.csv ;(其实不一定要csv文件,亲测txt格式的文件也可以)

           File encoding:给出页面的编码方式,可以不填写;这里以百度为例,它的源代码里 ,所以这里File encoding:gb2312
           Variable Names(comma-delimited):给出变量名如:name,pwd;这里的变量名是给后面引用用的,如要用到这个文件的值,可以利用变量名来引用:${name},${pwd};
           Delimiter(use ' ' 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: est.csv,0)}这个函数实现的功能大体上是一样的。

             
  • 相关阅读:
    图解Http协议 url长度限制
    cpu占用工具,亲测可用
    python使用mysql 获取数据,感知不到数据变化的原因
    dns压测工具dnsperf
    sqlalchemy.exc.ArgumentError: Mapper mapped class Result->result could not assemble any primary key 报错解决
    DevTools failed to load SourceMap: Could not load content for chrome-extension 解决
    tcp/udp 的一些测试
    win端 vscode 远程连接 centos,配置调试
    gitllab访问报错:Permission denied (publickey). 以及后续测试
    linux文件表项测试
  • 原文地址:https://www.cnblogs.com/y666/p/8489944.html
Copyright © 2020-2023  润新知