接口测试

柠檬班接口测试Tomcat+MySQL测试环境搭建

情到浓时终转凉″ 提交于 2019-12-02 12:53:05
Tomcat+MySQL测试环境搭建 安装Tomcat运行环境 配置MySQL数据库 发布项目 配置数据库开机自启 遇到的问题 安装Tomcat运行环境 参考链接: https://blog.csdn.net/weixin_44117507/article/details/102757124 配置MySQL数据库 使用Xshell连接上CentOS,运行 yum install mysql-server 安装数据库。 等待安装完毕后启动数据库服务: service mysqld start 。 默认的root账号密码为空,先修改root的密码: mysqladmin -uroot -p password XXXXXX ,出现输入密码的提示可直接回车。 连接数据库: mysql -u root -p ,输入密码回车进入。 出于安全的考虑呢,一般root用户不应该允许远程访问数据库,可创建一个用户,来远程访问: create user "XXX"@"%" identified by "XXXXXX"; 。然后修改用户的权限: grant all privileges on *.* to "XXX"@"%" Identified by "XXXXXX"; 。这条命令允许用户从任意主机访问数据库,可以把 % 替换成具体的IP,控制用户只能在指定IP上登录。 输入SQL脚本,建立数据库;

用postman测试List集合的接口

寵の児 提交于 2019-12-02 08:39:48
首先我们在Controller中写这样一个方法 import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/sesameSelfMentionPoint") public class SesameSelfMentionPointController { @PostMapping("/test") public List<String> test(@RequestBody List<String> list) { for (String s : list) { System.out.println(s); } return list; } } 启动项目访问接口需要这样传参 首先需要对应post请求 在Headers中加入Content-Type

Python+接口测试的一些方法

谁说胖子不能爱 提交于 2019-12-02 08:24:49
首先说下一个文档及地址,这个要记好,很多方法都在里面 Requests:让HTTP服务人类 中文版本地址是:http://cn.python-requests.org/zh_CN/latest/ 安装 requests 库 pip install requests 然后下面还是看代码 首先,先说说几个常用的请求方法: get、post、delete、head 下面还是看代码 import requests #定义一个变量用来储存url url = 'http://localhost/api/mgr/sq_mgr/' def getMt(): #r = requests.get(url, params=None, **kwargs) #定义一个变量来传递参数 pad = { "action": "list_course", "pagenum": "1", "pagesize": "20" } # 如果需要传递头消息则需要在get方法里添加头消息 headers = {'content-type': 'application/json'} r = requests.get(url,params=pad,headers=headers).json() #用rj接受发送的该get请求 #r = requests.get(url,params=pad) #返回的值以json的形式展示

Python接口测试框架实战与自动化进阶✍✍✍

帅比萌擦擦* 提交于 2019-12-02 05:50:36
Python接口测试框架实战与自动化进阶 一、fiddler在工作中的运用 1、如何抓接口  抓紧手机端接口    ①、在电脑终端输入:ipconfig ,找到电脑ip    ②、打开手机,连接WiFi,进入WiFi详情,改用手动代理,将ip设置为电脑端的ip,端口默认(8888)      ③、打开fiddler,找到并打开Fiddler Options ,选择Connections栏,做如下改动:    这样就可以尝试抓取接口了。 注: Python requests中文文档参考: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 二、unittest使用 python自带的包 1、unittest简单使用 使用 unittest的test类:TestCase ,重载相关方法: import unittest class TestMethod(unittest.TestCase): @classmethod def setUpClass(cls): print('重载setUpClass类方法,类实例化(初始化)时调用') @classmethod def tearDownClass(cls): print('重载tearDownClass方法,所有方法执行完后调用') def setUp

关于接口测试的一些问题

流过昼夜 提交于 2019-12-02 05:48:16
为什么要做接口测试? 1 .可以发现很多在页面上操作发现不了的bug 2.检查系统的异常处理能力 3.检查系统的安全性、稳定性 4.前端随便变,接口测好了,后端不用变 5.可以测试并发情况,一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后一个商品下单 6.可以修改请求参数,突破前端页面输入限制(如金额) 接口测试怎么测 面试题2:平常你是怎么测试接口的? 通过性验证:首先肯定要保证这个接口功能是好使的,也就是正常的通过性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。 参数组合:现在有一个操作商品的接口,有个字段type,传1的时候代表修改商品,商品id、商品名称、价格有一个是必传的,type传2的时候是删除商品, 商品id是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。 接口安全: 1、绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加? 2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功 3、参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话

Postman如何测试Webservice接口?

≡放荡痞女 提交于 2019-12-02 05:35:55
一般情况下使用soapui工具测试ws接口,那么能不能使用postman测试呢?当然可以,往下看。 1. 首先请求类型为post 填写上ws地址 ,url地址后不追加?wsdl 2. 设置请求头 header Content-type text/xml 3. 填写请求体内容 raw <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://server.xfire.xerp.nstc.com"> <soapenv:Header/> <soapenv:Body> <ser:send> <ser:in0><![CDATA[ <XERP> <HEAD> <BIZCODE>8800</BIZCODE> </HEAD> <BODY></BODY> </XERP> ]]></ser:in0> </ser:send> </soapenv:Body> </soapenv:Envelope> 响应内容: 来源: https://www.cnblogs.com/lyc-smile/p/11732105.html

2019/10/23 动手动脑--- 多态测试

笑着哭i 提交于 2019-12-02 04:37:46
多态测试: 代码: package com.javaclass4; public class ParentChildTest { public static void main(String[] args) { Parent parent=new Parent(); parent.printValue(); Child child=new Child(); child.printValue(); parent=child; parent.printValue(); parent.myValue++; parent.printValue(); ((Child)parent).myValue++; parent.printValue(); } } class Parent{ public int myValue=100; public void printValue() { System.out.println("Parent.printValue(),myValue="+myValue); } } class Child extends Parent{ public int myValue=200; public void printValue() { //super.printValue(); System.out.println("Child.printValue()

接口测试加解密与多环境测试

最后都变了- 提交于 2019-12-02 03:45:36
加密方法 请求加密:摘要加密 把原文或者原始请求中的部分字段做摘要算法的加密,把加密后的结果也放到原始请求中发送。 响应加密:返回的整个响应或者响应中的部分字段被加密,我们需要找到解密办法,还有一个名字叫摘要算法。 加密与签名的区别 加密通常代表是对称加密,这种加密是可以解密的。比如base64,主要用于的数据传输。 签名通常代表是非对称加密,这种加密不可逆不可解密。比如rsa、md5。通常用于认证内容未被篡改。 解密方式 自己解决通用解密算法 需要研发提供加解密的lib 需要加密方提供远程解析服务,这样算法仍然是保密的 import base64 import json import requests class TestEnCode: origin_url = 'http://0.0.0.0:8000/json_1.txt' url = "http://0.0.0.0:8000/base64_1.txt" def test_get(self): r = requests.get(url=self.url) print(r.content) data = self.decode(r.content) j = json.loads(data) print(j) assert len(j['topics']) == 2 def test_encode(self): r =

jmeter基于token的接口测试实战

不羁岁月 提交于 2019-12-02 03:01:10
SessionID 是会话ID,每个会话都需要有一个SessionID; token 是在需要账号密码进行登录的情况下,产生的 http://47.96.181.17:9090/rest/ac01CrmController 如果没有接口文档,我们可以利用一些抓包工具去测试接口。 绿色的对勾只代表这个请求有响应,不代表响应对不对。 这个返回结果是不对的。 要使用这个请求,必须先验证身份后才能添加用户,所以要先登录之后有了token,才能添加用户。所以在这个请求前面加上一个登录的请求。 而登录的请求是:输入用户名密码后,登录获取token。使用的是Post方式。因为使用get,后面的参数能够看到不太安全 加上“HTTP信息头管理器”后运行成功。 我们怎么验证正则表达式提取器中得到的值是正确的呢?需要在调试的时候,添加一个 Debug Sampler,只要有自定义的变量,这个里面都能看到。debug sampler只要放到这个线程组下面即可。 查看 debug sampler 返回的token 跟 get_token中返回的token相同,所以这个值 "token" 能够提取成功。 接下来要把 token 这个变量,用到下个请求(add_user)中去。 请想一下:这个接口的性能应该怎么做?需要考虑哪些问题? 1. 不能直接添加用户数,因为用户的手机号码不能重复 2.

为什么要做接口测试

六月ゝ 毕业季﹏ 提交于 2019-12-02 02:44:31
转:https://www.cnblogs.com/nbkhic/p/7338540.html 很多同学反馈现在面试的时候都会问到为什么要做接口测试以及如何做接口测试的问题,那么我们就稍微来科普一下。 本文讨论的接口均是服务级的接口,不是代码级 接口是什么 在讨论为什么要做接口测试之前,我们可以先稍微了解一下接口是什么? 接口可以很不准确的理解成是与资源打交道,这个资源可能是本系统的,也可能是其他系统的。 举个例子,假如我们在开发1个bug管理系统,该系统需要拿到公司的所有开发和测试人员的信息,这样开发和测试人员不用注册都可以登录进去了,这应该很好理解。 那么这些人员的信息储存在哪里呢?一般存储在hr系统里。现在的需求更加明确了,我们要到hr系统中去拿到人员信息,获取hr系统中的人员资源。 怎么拿呢?很多种方式,可以直接把hr系统的数据库拷贝一份放到bug管理系统里,不过这样不好,因为数据的同步会有点麻烦;还可以直接连hr系统的数据库去查,这样也不太好,这样我们就需要了解hr系统的数据存储结构和逻辑,一旦hr系统的数据字段发生改变,bug管理系统也要去该,以便同步。 比较好的做法是,hr系统暴露一些接口,通过这些接口去获取人员信息资源,这样bug系统就不需要关心hr系统的数据存储实现了。 这些接口可能是这样的: 登录的接口,提供人员的用户名和密码,去hr系统中判断该人员是否存在