pycharm中使用request和Pytest进行接口测试的方法

安装request库
以火车的站站查询为例的post和get方法的接口测试
使用pytest测试接口

1、requests的请求机制

1、安装request库


2、以火车的站站查询为例的post和get请求方法

2.1get请求

两种传参方式

1、_url = “网址+参数” = “网址?key1=value1&key2=value2”

response1 = request.get(url = _url)

2、字典拼接

_params = {
“key1” : “value1”,
“key2” : “value2”,
}
response2 = requests.get(url=“网址”, params = _params)
import requests

response = requests.get(url="https://api.binstd.com/train/station2s?start=北京&end=西安&ishigh=0&appkey=d737aad9a0d9dc97")
print(response.text)  #字符串格式
print(response.json()) #json,前提需要确保返回内容为json格式,否则报错

#字典方式拼接参数
print("-------------字典方式拼接参数---------------")
params = {
  "start" : "北京",
  "end" : "西安",
  "ishigh" : 0 ,
  "appkey" : "d737aad9a0d9dc97"
}
response1 = requests.get(url="https://api.binstd.com/train/station2s", params = params)
print(response1.text)
print(response1.json())

2.2post请求
拼接参数方式传参

import requests

#字典方式拼接参数
data = {
  "start" : "北京",
  "end" : "西安",
  "ishigh" : 0 ,
  "appkey" : "d737aad9a0d9dc97"
}
response1 = requests.post(url="https://api.binstd.com/train/station2s", data = data)
print(response1.text)
print(response1.json())

#获取响应状态码
print(response1.status_code)

#获取原始模式
print(response1.raw)

常见的请求方法

请求方法 含义
requests.get() 获取html的主要方法
requests.head() 获取html头部信息的主要方法
requests.post() 向html网页提交post请求的方法
requests.put() 向html网页提交put请求的方法
requests.patch() 向html提交局部修改的请求
requests.delete() 向html提交删除请求

2、pytest测试接口

1、安装pytest
pip install pytest

2、使用pytest测试接口
在pytest框架中,有如下约束:
文件名要以test开头或者结尾(test_*.py / *_test.py),可以包含一个或多个test_开头的函数。
此时,在执行pytest命令时,会自动从当前目录及子目录中寻找符合上述约束的测试函数来执行。

4.1首先得到响应数据

import requests
def request_ticket():
  #返回接口响应结果
  url = "https://api.binstd.com/train/ticket"
  payload = {
    "start": "北京",
    "end": "西安",
    "date": "2019-10-1",
    "appkey": "d737aad9a0d9dc97"
  }
  #response = requests.get(url = _url, parms = payload)
  response = requests.post(url = url, data = payload)
  print(response.text)
  return response
request_ticket()

4.2为了方便查看将响应结果格式化:由于太长,部分用省略号代替

{
  "status": 0,
  "msg": "ok",
  "result": {
    "start": "北京",
    "end": "西安",
    "date": "2020-06-10",
    "list": [
      {
        "trainno": "G667",
        "type": "G",
        "typename": "高铁",
        "station": "北京西",
        "endstation": "西安北",
        "departuretime": "11:19",
        ...
        "departstationcode": "BXP",
        "terminalstationcode": "EAY",
        "startdate": "20200610",
        ...
      },
      {
        "trainno": "G659",
        "type": "G",
        "typename": "高铁",
        "station": "北京西",
        "endstation": "西安北",
        "departuretime": "11:53",
        ...
        "departstationcode": "BXP",
        "terminalstationcode": "EAY",
        "startdate": "20200610",
        ...
      },
      {...},
      {...},
      ...
    ]
  }
}

4.3取出数据
出发站(station)和到达站(endstation)在result中的list下,怎么取到呢?----[“result”] [“list”]
---- request_ticket().json()[“result”][“list”]

def test_departur_station():
  """
  始发站测试,测试接口返回的所有车次信息,他们的出发站,和到达站都符合参数约定
  :return:
  """
  #从响应中获取测试列表
  trainSli = request_ticket().json()["result"]["list"]  #单个的车次信息
  #trainSli是取出来的list列表
  for trainInfo in trainSli:
    assert "北京" in trainInfo["station"]  #判断‘北京'是否是列表中‘station'的值
    assert "西安" in trainInfo["endstation"] #判断到达站是不是‘西安'

#调用函数
test_departur_station()

'''def test_train_date():
  """
  发车日期测试,接口返回的所有车次信息,发车日期,都符合参数约定
  :return:
  """
  #从响应中获取测试列表
  trainSli = request_ticket().json()["result"]["list"]  #单个的车次信息
  for trainInfo in trainSli:
    assert "20200610" in trainInfo["startdate"]

test_train_date()'''

4.4 运行

4.5 查看结果

如果该路径下有多个以test开头或者结尾的文件,则会一起检测两个文件中的接口

如果出现ERROR则在文件中找错误原因

总结

到此这篇关于pycharm中使用request和Pytest进行接口测试的文章就介绍到这了,更多相关pycharm使用request和Pytest接口测试内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • PyCharm安装第三方库如Requests的图文教程

    PyCharm安装第三方库是十分方便的,无需pip或其他工具,平台就自带了这个功能而且操作十分简便.如下: [注]:本人PyCharm已汉化,若是英文版按括号中英文指示操作即可. 1. 打开软件,点击左上角"文件(File)"->"设置(setting)": 2. 选择弹出界面左上角的"项目(Project): PyCharm_Demo"->"project Interpreter": 3. 点击右上方"

  • 使用PyCharm安装pytest及requests的问题

    电脑环境:windows7 64位      python3.7 问题:在PyCharm中,使用setting下的project Interpreter安装pytest以及requests失败 解决方法:(亲测有效) 1.打开Gitbash,定位到python的安装目录:我的安装目录是 D:\pythonAnZhuang\Python37\Scripts 2.输入:pip install requests,等待安装完成 3.输入:pip install pytest,等待安装完成 4.检测是否安

  • pycharm中使用request和Pytest进行接口测试的方法

    安装request库 以火车的站站查询为例的post和get方法的接口测试 使用pytest测试接口 1.requests的请求机制 1.安装request库 2.以火车的站站查询为例的post和get请求方法 2.1get请求: 两种传参方式 1._url = "网址+参数" = "网址?key1=value1&key2=value2" response1 = request.get(url = _url) 2.字典拼接 _params = { "

  • 在pycharm中文件取消用 pytest模式打开的操作

    pycharm的pytest功能 在新建一个python文件时,比如名称是test_test_test.py,由于含有test,pycharm可能自动将允许模式设置为pytest.可以由于没有pytest模块,不能执行,如何取消pytest模式呢? 1.进入运行–>编辑配置,可以看到 Python tests下面有一个小叉叉,是由于环境中没有pytest模块.点击上面的"-"图标,可以删除"pytest in test_test_test.py"这一行. 2.

  • 在Pycharm中项目解释器与环境变量的设置方法

    1.官网下载Pycharm community版如pycharm-community-2017.3.1.tar.gz. 2. #解压tar.gz tar xfz pycharm-*.tar.gz cd bin ./Pycharm.sh 然后,一路next安装. 3.出现Pycharm图像界面时,表明安装成功. 4.新建项目 1)File->New project-> 设置项目所在路径: 设置解释器:ubuntu16.04默认安装python2.python3.python2.7.python3

  • 在PyCharm中控制台输出日志分层级分颜色显示的方法

    1.把下面代码复制到一个.py文件中 #!/usr/bin/env python # encoding: utf-8 import logging # now we patch Python code to add color support to logging.StreamHandler def add_coloring_to_emit_windows(fn): # add methods we need to the class def _out_handle(self): import

  • 在Pycharm中对代码进行注释和缩进的方法详解

    一.注释 1. #单行注释 2. """ 多行注释 """ 3. pycharm多行注释快捷键:Ctrl+/ 二.缩进 缩进:Tab 反向缩进:Shift+Tab 以上这篇在Pycharm中对代码进行注释和缩进的方法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 在pycharm中使用git版本管理以及同步github的方法

    注意:首先你电脑必须安装git版本控制器(软件),在官网下载即可. pycharm中使用git以及github很简单,首先在设置中搜索github: 点击右边的Create API Token,系统会要求输入你的github账号和密码,当你输入正确点击确认后会进行身份认证,认证成功后会创建一段TOKEN.这时你的github库与pycharm就联系起来了. 之后,你可以将你新建的工程上传到你的github库,点击VCS,点击"import into Version Control"中的

  • Pycharm中import torch报错的快速解决方法

    Pycharm中import torch报错 问题描述: 今天在跑GitHub上一个深度学习的模型,需要引入一个torch包,在pycharm中用pip命令安装时报错: 于是我上网寻求解决方案,试了很多都失败了,最后在:Anne琪琪的博客中找到了答案,下面记录一下解决问题的步骤: 1.打开Anaconda prompt执行下面命令: conda install pytorch-cpu torchvision-cpu -c pytorch 等待运行结束. 2. 测试torch是否安装成功 impo

  • JScript中遍历Request表单参数集合的方法

    JScript下有一个Enumerator对象可以遍历集合.根据它的文档写了以下程序,可以遍历整个Request.QueryString集合: 复制代码 代码如下: var params = new Enumerator(Request.QueryString); while (!params.atEnd()) { Response.Write(params.item() + ":" + Request.QueryString(params.item()) + "<br

  • Python中requests做接口测试的方法

    一.介绍 Requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求 二.前提 pip install requests 三.get的请求 3.1 GET无参请求 r = requests.get('http://www.baidu.com') 3.2 GET传参 payload = {'key1': 'value1', 'key2': 'value2', 'key3': Non

  • 在pycharm中开发vue的方法步骤

    一.在pycharm中开发vue ''' webstorm(vue) pycharm(python) goland(Go语言) idea(java) andrioStuidio(安卓) Php(PHP) ''' ''' ①在pycharm中打开vue项目,在settins下Plugins中下载vue.js ②启动vue项目 -方法1.在Terminal下输入npm run serve -方法2.Edit Configurations---->点+ 选npm----->在script对应的框中写

随机推荐