aml文件是专门用来写配置文件的语言,非常简洁和强大,远比json格式方便。

在PC中新建一个yml/yaml为为缩略名的文件,输入信息见下图

新建一个py文件处理yml文件,直接处理成字典格式

缩进为二维数组:

import yaml
f = open('mpp.yml')
print(yaml.load(f))

yml文件信息和运行结果如下图:

ddt相当于参数化一个东西

只传入一个参数:

传入多个参数:

使用ddt+yml+unittest实现自动化接口测试,代码如下:

import ddt
import unittest,requests
from BeautifulReport import BeautifulReport @ddt.ddt
class MyCase(unittest.TestCase):
@ddt.file_data('login.yml')
@ddt.unpack
def test_run(self,**kwargs):#不确定有多少参数,用**kwargs获取用例的所有信息
method = kwargs.get('method')
url = kwargs.get('url')
data = kwargs.get('data')
header = kwargs.get('header',{}) #从用例里获取header,如果没有这个字段返回空
is_json = kwargs.get('is_json',0) #从用例里获取json,如果没有这个字段返回空
cookie = kwargs.get('cookie',{}) #同上
check = kwargs.get('check')
if method == 'post':
if is_json:
r = requests.post(url, json=data, headers=header,
cookies=cookie)
else:
r = requests.post(url,data=data,headers=header,
cookies=cookie)
else:
r = requests.get(url,params=dataa,headers=header,
cookies=cookie)#params是直接把传参拼接到url后
# self.assertEquals(check.get('error_code'),r.json().get('error_code'))
#判断check中的预期结果和响应参的error_code是否一样 for c in check:#实际check中不止一个error_code,还有其他多个响应参
self.assertIn(c,r.text) if __name__ == '__main__':
# unittest.main() #自动运行全部用例
suite = unittest.TestSuite()
suite.addTests(unittest.makeSuite(MyCase))
result = BeautifulReport(suite)
result.report(filename='mpp的测试报告0318', description='描述B', log_path='')

python之yaml模块和ddt模块的更多相关文章

  1. python3.6 request模块和ddt模块的安装

    1.1用cmd命令进到python的安装目录的Scripts文件夹 1.2.然后输入 pip install requests,出现以下提示,说明安装成功 2.安装ddt步骤一样,只是把pip ins ...

  2. python之ddt模块使用

    一.DDT(数据驱动)简介 Data-Driven Tests(DDT)即数据驱动测试,可以实现不同数据运行同一个测试用例(通过数据的不同来驱动测试结果的不同). ddt本质其实就是装饰器,一组数据一 ...

  3. python ddt模块

    ddt模块包含了一个类的装饰器ddt和两个方法的装饰器: data:包含多个你想要传给测试用例的参数: file_data:会从json或yaml中加载数据: 通常data中包含的每一个值都会作为一个 ...

  4. 【python+ddt】DDT模块的使用

    ddt模块包含了一个类的装饰器ddt和两个方法的装饰器: data:包含多个你想要传给测试用例的参数: file_data:会从json或yaml中加载数据: unpanck:通常data中包含的每一 ...

  5. python 使用yaml模块

    python:yaml模块一.yaml文件介绍YAML是一种简洁的非标记语言.其以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁.1. yaml文件规则基本规则:    大小写敏感   ...

  6. DDT模块

    转自: https://www.cnblogs.com/frost-hit/p/8277637.html Python DDT(data driven tests)模块心得   关于ddt模块的一些心 ...

  7. python学习笔记-(九)模块

    基础知识 1. 定义 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑----实现一个功能),本质就是.py结尾的python文件(文件名:test.py,对应的模块就是test) 包:用 ...

  8. python中常用的内建模块

    [datetime] datetime是python处理日期和时间的标准库 获取当前日期和时间 我们先看如何获取当前日期和时间: 注意到datetime是模块,datetime模块还包含一个datet ...

  9. Python成长之路(常用模块学习)

    Python 拥有很多很强大的模块 主要写一下常用的几个吧 大概就是这些内容了 模块介绍 time &datetime模块 random os sys shutil json & pi ...

随机推荐

  1. 基于bootstrap_后台管理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. cocos2d-x 3.0 touch事件官方解释

    官方解释 http://www.cocos2d-x.org/docs/manual/framework/native/input/event-dispatcher/zh#_1

  3. [Pyhton]weakref 弱引用

    文档中的解释: https://docs.python.org/2/library/weakref.html wiki 中的解释: 在计算机程序设计中,弱引用.与强引用相对.是指不能确保其引用的对象不 ...

  4. Eclipse搭建Web Service服务

    1.建立动态Web工程(Dynamic Web Project),工程名为Server.编写类HelloWorld. package com.mysever; public class HelloWo ...

  5. linunx 下载文件到本地

    1.检查并安装相应的包:yum install lrzsz 2.使用 sz 文件名 现在相应的文件到本地磁盘. 3.上传使用rz 选择相应文件即可.

  6. A喝酒(北京林业大学校赛)

    http://www.jisuanke.com/contest/1410 王大钉喜欢喝酒,存货都喝完了,他就去楼下买,正好楼下的商店为了响应学校的 ACM 校赛推出了优惠活动:凡是在本店买的啤酒,喝完 ...

  7. 异常、Throwable、finally、File类(十九)

    1.异常的概述和分类 * A:异常的概述 * 异常就是Java程序在运行过程中出现的错误.* B:异常的分类 * 通过API查看Throwable * Error * 服务器宕机,数据库崩溃等 * E ...

  8. codeforces B. Balls Game 解题报告

    题目链接:http://codeforces.com/problemset/problem/430/B 题目意思:给出用不多于k种颜色对n个球的染色情况,以及手中的唯一一个球的颜色.初始时,连续的相同 ...

  9. html5--6-56 阶段练习5-翻转效果

    html5--6-56 阶段练习5-翻转效果 学习要点 运用所学过的知识完成一个简单的小练习,理解对动画的应用. @charset="UTF-8"; *{ ; ; } img{ w ...

  10. apt-get update 问题 及gcc高亮

    一 gcc高亮 gcc 高亮有好几种方法. 参考 http://www.cokco.cn/thread-39909-1-1.html 这个教程: (1) git clone https://githu ...