利用python发起http请求:多条测试用例同时执行来测试登录接口

#1、导入requests模块

import requests

#2、定义接口地址
login_url=‘http://ip:9999/futureloan/mvc/api/member/login‘

#3、定义测试数据
test_case=[{‘case_id‘:1,‘title‘:‘正常登录‘,‘data‘:{‘mobilephone‘:‘13502288211‘,‘pwd‘:‘123456‘},‘method‘:‘get‘,‘expected‘:‘10001‘},
{‘case_id‘:2,‘title‘:‘密码错误‘,‘data‘:{‘mobilephone‘:‘13502288211‘,‘pwd‘:‘12345678‘},‘method‘:‘get‘,‘expected‘:‘20111‘},
{‘case_id‘:3,‘title‘:‘手机号错误‘,‘data‘:{‘mobilephone‘:‘13502288211666‘,‘pwd‘:‘123456‘},‘method‘:‘get‘,‘expected‘:‘20111‘},
{‘case_id‘:4,‘title‘:‘密码为空‘,‘data‘:{‘mobilephone‘:‘13502288211‘,‘pwd‘:‘‘},‘method‘:‘get‘,‘expected‘:‘20103‘},
{‘case_id‘:5,‘title‘:‘手机号为空‘,‘data‘:{‘mobilephone‘:‘‘,‘pwd‘:‘123456‘},‘method‘:‘post‘,‘expected‘:‘20103‘}]

#定义http请求函数
def http_request(method,url,data):

if method==‘get‘:
# print(‘发起一个get请求‘)
result=requests.get(url,data)
else:
# print(‘发起一个post请求‘)
result=requests.post(url,data)
# print(result.json())
return result.json()   #返回响应结果:结果是字典类型:{‘status‘: 1, ‘code‘: ‘10001‘, ‘data‘: None, ‘msg‘: ‘登录成功‘}

#调用函数,发起请求
for case in test_case:
# print(‘正在执行第{}条用例‘.format(case[‘case_id‘]))
result=http_request(case[‘method‘],login_url,case[‘data‘]) #获得请求的响应结果
if case[‘expected‘]==result[‘code‘]:
print(‘第{}条用例:{}——测试通过‘.format(case[‘case_id‘],case[‘title‘]))
else:
print(‘第{}条用例:{}——测试失败‘.format(case[‘case_id‘],case[‘title‘]))

原文地址:https://www.cnblogs.com/yhms/p/10137016.html

时间: 2024-08-30 12:37:54

利用python发起http请求:多条测试用例同时执行来测试登录接口的相关文章

Oracle是如何工作的?实例是如何响应用户请求?一条SQL的执行过程~

Oracle 是如何工作的? Select id,name from t order by id ; – SQL 解析(查看语法是否错误,如果没有错误,分析语意,执行此语句的权限) – 执行计划(ORACLE如何访问数据,按照执行计划取数据) – 执行SQL • 从磁盘中读取数据(如果数据在内存中没有,就去磁盘读取) • 数据处理(数据读到内存后,就进行处理.排序,组合等处理) • 返回结果(把结果返回给用户) Insert into t values(1,‘tigerfish’); – SQL

利用jmeter发起java请求调用shell脚本

1.创建maven项目 在pom文件中加入依赖: 2.在路径src/main/java下创建类,如类名shellclass 3.      创建jmeter调用类,如jmtershell,完成jmetershell编写后导出成jar包. 3.     将shelljmeter.jar放入jmeter安装路径\lib\ext目录下:将依赖的maven包ganymed-ssh2-210-huson-1.jar放入jmeter安装路径\lib路径下. 4.         在jmeter中创建java

Python(73)_装饰器函数练习_执行函数前登录验证

#-*-coding:utf-8-*- import os import time from functools import wraps ''' 1.编写装饰器,为多个函数加上认证的功能(用户的账号和密码来源于文件) 2.要求登录一次,后续函数都无需输入用户名和密码 ''' FLAG = False def login(func): def inner(*args,**kwargs): global FLAG ''' 登录程序 ''' if FLAG: ret = func(*args, **

利用python httplib模块 发送Post请求测试web服务是否正常起来!

最近在学习python,恰好老大最近让我搞个基于post请求测试web服务是否正常启用的小监控,上网查了下资料,发现强大的Python恰好能够用上,所以自己现学现卖,顺便锻炼下自己. 由于本人也刚接触这块不久属于菜鸟级别,所以在任务之前,只能上网把基于post请求的web监控了解清楚,这些资料网上很多,因为本人认为完成这类任务最重要的就是要将实现的原理研究清楚,写程序只是实现的工具,如果大的逻辑不正确,后面的都是白忙活. 了解post发送请求的原理后,利用Python的httplib模块进行逻辑

get/post请求和 python 发起请求(4)

get 请求: cgi-bin/hello_get.py #!C:/python27/python.exe # -*- coding: UTF-8 -*- import cgi, cgitb form = cgi.FieldStorage() first_name = form.getvalue('first_name') last_name = form.getvalue('last_name') print "Content-type:text/html\r\n\r\n" prin

利用 Python yield 创建协程将异步编程同步化

在 Lua 和 Python 等脚本语言中,经常提到一个概念: 协程.也经常会有同学对协程的概念及其作用比较疑惑,本文今天就来探讨下协程的前世今生. 首先回答一个大家最关心的问题:协程的好处是什么? 通俗易懂的回答: 让原来要使用 异步 + 回调 方式写的非人类代码,可以用看似同步的方式写出来. 1.回顾同步与异步编程 同步编程即线性化编程,代码按照既定顺序执行,上一条语句执行完才会执行下一条,否则就一直等在那里. 但是许多实际操作都是CPU 密集型任务和 IO 密集型任务,比如网络请求,此时不

Python 爬虫|深入请求:http协议以及fiddler的使用

对于一个URL https://zhuanlan.zhihu.com/xmucpp (1)首先浏览器解析出主机名:http://zhuanlan.zhihu.com (2)浏览器搜索出相应主机的ip地址(DNS) (3)浏览器解析出相应的端口号 (4)建立与主机及特定端口的联系 (5)发送请求报文(记录请求行为的一些信息及要求) (6)获得响应报文(包括你在浏览器上看到的信息) (7)关闭连接 现在来看一看报文的具体结构,对于构造请求行为中的headers很有帮助,只需要大概了解就好,不需要特别

#IT明星不是梦#利用Python进行网站日志分析

网站的访问日志是一个非常重要的文件,通过分析访问日志,能够挖掘出很多有价值的信息.本文介绍如何利用Python对一个真实网站的访问日志进行分析,文中将综合运用Python文件操作.字符串处理.列表.集合.字典等相关知识点.本文所用的访问日志access_log来自我个人的云服务器,大家可以从文末的附件中下载. 1.提取指定日期的日志 下面是一条典型的网站访问日志,客户端访问网站中的每个资源都会产生一条日志. 193.112.9.107 - - [25/Jan/2020:06:32:58 +080

利用python进行数据分析--(阅读笔记一)

以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分代码组成:少量需要占用大部分执行时间的代码,以及大量不经常执行的“粘合剂代码”. cython已经成为python领域中创建编译型扩展以及对接c/c++代码的一大途径. 3.在那些要求延迟性非常小的应用程序中(例如高频交易系统),为了尽最大可能地优化性能,耗费时间使用诸如C++这样更低级.更低生产率的语言进行