test_guanlian.py放在case文件夹下

test_guanlian.pyimport unittest

import requests
from urllib.parse import urljoin class TestChoice(unittest.TestCase):
base_url = 'http://abc.cn/'
def login(self):
uri = '/abd/login'
url = urljoin(self.base_url,uri)
data = {'username':'username','passwd':'111111'}
print('开始登录',data)
response = requests.post(url,data).json()
print('调用登录接口结束,返回结果',response)
self.assertIsNotNone(response.get('login_info'),'登录失败')
#校验非空
session_id = response['login_info']['sign']
user_id = response['login_info']['userId']
return session_id,user_id def choice(self,session_id,user_id):
uri = '/abd/choice'
url = urljoin(self.base_url,uri)
data = {'userid':user_id,'sign':session_id}
print('抽奖接口开始=====',data)
response = requests.get(url,params=data).json()
print('抽奖接口结束=======',response)
self.assertIsNotNone(response.get('product_info'),'抽奖失败') def add_product(self,session_id,user_id):
uri = '/abd/add'
url = urljoin(self.base_url,uri)
data = {'userid':user_id,'sign':session_id,'name':'iphoneXs max'}
files = {'file':open(r'/Downloads/aaa.jpg','rb')}
response = requests.post(url,data,files=files).json()
self.assertEqual('添加成功',response.get('msg')) def test_login_choice(self):
'''测试抽奖流程的,先登录后抽奖'''
session_id,user_id = self.login()
self.choice(session_id,user_id) def test_login(self):
'''测试登录的'''
self.login() def test_add_product(self):
'''测试添加商品的'''
session_id,user_id = self.login()
self.add_product(session_id,user_id)

start.py 放在与case文件夹同级目录下

 
import BeautifulReportimport unittest

test=unittest.defaultTestLoader.discover('case','test*.py')
# print(test)
runner = BeautifulReport.BeautifulReport(test)
runner.report('接口测试','interface.html')

Python基础测试有关联的接口的更多相关文章

  1. python 请求测试环境的https接口地址报SSL错误验证,访问不了

    解决文案: response = requests.post(url, data=payload, json=None, headers=headers,verify=False)print(resp ...

  2. 高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)

    现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python ...

  3. Python之测试webservice接口

    前段时间学习了Python操作http接口,觉得挺容易的.最近项目组也有接触webservice接口,心里想想是否Python也可以操作这类接口.于是利用伟大的度娘,花了6个小时研究出来了,所以迫不及 ...

  4. python基础一之课后作业:编写登录接口

    1 # Author : Mamba 2 3 #python基础一之课后作业:编写登录接口 4 5 # 输入用户名密码 6 # 认证成功后显示欢迎信息 7 # 用户名3次输入错误后,退出程序 8 # ...

  5. python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda

    ---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...

  6. python基础练习-猜年龄、编写登陆接口小程序

    python基础练习:   一.猜年龄 , 可以让用户最多猜三次! age=40 count = 1 while count <=3 : user_guess=int(input("i ...

  7. python测试开发django-rest-framework-59.restful接口开发

    前言 REST 不是什么具体的软件或者代码,而是一种思想.现在流行前后端分离开发项目,一般用 json 来交换数据. 相信写过模板的同学都知道,只要哪怕页面中的数据有一丝丝变动,那整个页面都需要重新渲 ...

  8. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  9. 第一阶段——CentOS6_Python3.6.1笔记(尚学堂-Python基础快速入门)+ 【补充】麦子-Python程序入门与进阶

    虚拟机环境: 设置网络 .修改网络地址 .设置网卡为nat模式 .确保物理机启动dhcp.net服务 .编辑文件:vim /etc/sysconfig/network-scripts/ifcfg-et ...

随机推荐

  1. DOM事件类

    1.DOM中的事件级别 DOM0: element.onclick = function(){} DOM1: 没有与事件相关的设计 DOM2: element.addEventListener('cl ...

  2. 编译APR包报错 rm: cannot remove `libtoolT': No such file or directory

    centos 6  编译APR包报错 在当前apr 目录 : #Vi configure +31880  ,注释掉此行 再次编译即可.

  3. An error occurred while starting the application.

    一..net core 发布后的站点启动报错如下 An error occurred while starting the application. .NET Core 4.6.26328.01 X6 ...

  4. JHipster简介

    JHipster简介 JHipster或者称Java Hipster,是一个应用代码产生器,能够创建Spring Boot + AngularJS的应用.开源项目地址:JHipster/Github. ...

  5. 创建windoes 硬盘 挂载u盘

    一,创建 windows 硬盘 创建 2,我的电脑右击鼠标,计算机管理 3.同理执行,在linux 下创建虚拟磁盘 选择路径为之前存放 windows 系统路径 之后 mount  /dev/sdc ...

  6. Python module ---- getopt

    optlist, argv = getopt.getopt(argv, 'cdsarRvn:e:E:f:F:w:O:m:M:o:g:') 模块getopt用于分割了main函数的参数,参数args一般 ...

  7. 转 JVM找出占用CPU最高的线程

    这两天客户这边有一台服务器一到下午3点左右就开始卡住,页面无法访问,服务器CPU占用达到300%多开始以为只是可能只是意外事件,重启一下就好,但是发现重启之后没几分钟服务器马上又反应无法访问,我就开始 ...

  8. CSS 图像高级 径向渐变

    径向渐变 径向渐变使用 radial-gradient 函数语法. 这个语法和线性渐变很类似, 可以指定渐变结束时的形状 以及它的大小. 默认来说,结束形状是一个椭圆形并且和容器的大小比例保持一致. ...

  9. 【原创】访问Linux进程文件表导致系统异常复位的排查记录

    前提知识: Linux内核.Linux 进程和文件数据结构.vmcore解析.汇编语言 问题背景: 这个问题出自项目的一个安全模块,主要功能是确定某进程是否有权限访问其正在访问的文件. 实现功能时,需 ...

  10. python day08 文件操作

    2019.4.8 S21 day08笔记总结 一.进制 对于计算机而言无论是文件存储 / 网络传输数据本质上都是:二进制(010101010101),如:电脑上存储视频/图片/文件都是二进制: QQ/ ...