1.简单读取

#coding=utf-8

#调用封装好的excel读取公共方法
from python_API.common.ReadExcel import ReadExcel
import requests
import json

#获取excel中的url
url = ReadExcel("d:\\dym.xls","Sheet1").getValue(1,1)

#获取excel中的请求方式
Method = ReadExcel("d:\\dym.xls","Sheet1").getValue(1,2)

#获取excel中的header
header = json.loads(ReadExcel("d:\\dym.xls","Sheet1").getValue(1,3))

#获取excel中的param
body = json.loads(ReadExcel("d:\\dym.xls","Sheet1").getValue(1,4))

response = requests.request(Method,url,headers=header,params=body)
print (response.json())

2.加上unitest框架管理用例生成测试报告

#coding=utf-8

from python_API.common.ReadExcel import ReadExcel
from python_API.common.WriteExcel import wrtel
import requests
import json
import unittest
import HTMLTestRunner

class Test(unittest.TestCase):

    def setUp(self):
        self.url = ReadExcel("d:\\dym.xls","Sheet1").getValue(1,1)
        self.Method = ReadExcel("d:\\dym.xls","Sheet1").getValue(1,2)
        self.header = json.loads(ReadExcel("d:\\dym.xls","Sheet1").getValue(1,3))

    def test01(self):
        body = json.loads(ReadExcel("d:\\dym.xls","Sheet1").getValue(1,4))
        response = requests.request(self.Method,self.url,headers=self.header,params=body)
        #调用写入excel内容公共方法,将返回的报文实际结果写入到excel中
        wrtel("d:\\dym.xls",0,1,6,response.text)
        #断言结果是否正确
        self.assertEqual(response.json()[",msg="test01 error!")

    def test02(self):
        body = json.loads(ReadExcel("d:\\dym.xls","Sheet1").getValue(2,4))
        response = requests.request(self.Method,self.url,headers=self.header,params=body)
        wrtel("d:\\dym.xls",0,2,6,response.text)
        self.assertIn(u"错误",response.json()["errorMsg"],msg="test02 error!")

    def test03(self):
        body = json.loads(ReadExcel("d:\\dym.xls","Sheet1").getValue(3,4))
        response = requests.request(self.Method,self.url,headers=self.header,params=body)
        wrtel("d:\\dym.xls",0,3,6,response.text)
        self.assertIn(u"错误",response.json()["errorMsg"],msg="test02 error!")

if __name__ == '__main__':
    suit = unittest.TestSuite()
    testcases = [Test("test01"),Test("test02"),Test("test03")]
    suit.addTests(testcases)
    dir = "D:\work_doc\pycharm2\python_API\\result\\report.html"
    path = open(dir,"wb")
    runner =HTMLTestRunner.HTMLTestRunner(stream=path,title="TestReport",description="test desc")
    runner.run(suit)

3.循环读取excel文件内的参数

#coding=utf-8

from python_API.common.ReadExcel import ReadExcel
import requests
import json
import unittest

class Test(unittest.TestCase):

    def setUp(self):
        self.url = ReadExcel("d:\\dym.xls","Sheet1").getValue(1,1)
        self.Method = ReadExcel("d:\\dym.xls","Sheet1").getValue(1,2)
        self.header = json.loads(ReadExcel("d:\\dym.xls","Sheet1").getValue(1,3))

    def test01(self):

        #调用读取excel类中的获取行数方法getRows(),获取有效行数
        for row in range(ReadExcel("d:\\dym.xls","Sheet1").getRows()):

            #因为第一行为标题,所以row为0时不能用来取值
            if row >=1:
                body = json.loads(ReadExcel("d:\\dym.xls","Sheet1").getValue(row,4))
                response = requests.request(self.Method,self.url,headers=self.header,params=body)
                if row == 1:
                    if response.json()["executeStatus"] == 0:
                        pass
                    else:
                        print ("case01 error!")
                else:
                    if response.json()["executeStatus"] == 1:
                        pass
                    else:
                        print ("case02 error!")

if __name__ == '__main__':
    unittest.main()

unittest管理接口用例(数据分离-读取excel)的更多相关文章

  1. unittest 管理接口用例(数据分离-读取excel)

    1.公共模块 ---> login.xls """ common (package) ---> ReadFile.py """ ...

  2. unittest管理接口用例

    1.加入unittest框架 #coding=utf-8 import requests import unittest class TestApi(unittest.TestCase): def s ...

  3. python接口自动化测试--数据分离读取Excal指定单元格数据

    上一篇博客讲了怎么批量读取Excal单元格数据,现在咱们说一下怎么读取Excal指定单元格数据. 一.首先建一个Test_Main类 #!/usr/bin/python # -*- coding: U ...

  4. Jmeter 接口自动化-脚本数据分离实例

    一. 背景:  为了让大家更加的了解Jmeter,并且使用起来游刃有余.这篇我们主要讲一下,如何优雅的使用Jmeter一步步的实现接口自动化,完成脚本与数据分离,把可能对Jmeter脚本的维护转移到c ...

  5. Python 用load_workbook 读取excel某个单元格数据、读取excel行数、列数

    from openpyxl import load_workbook path = r'D:\pywork\12' # EXCEL信息所在文件夹 e= load_workbook(path + '/' ...

  6. requests,unittest——多接口用例,以及需要先登录再发报的用例

    之前写过最简单的接口测试用例,本次利用unittest进行用例管理,并出测试报告,前两个用例是两个不同网页的get用例,第三个是需要登录才能访问的网页A,并在其基础上访问一个需要在A页面点开链接才能访 ...

  7. python web自动化测试框架搭建(功能&接口)——接口用例实现

    测试用例基类: # coding=utf-8 import unittest import Logger log = Logger.Loger() class BaseCase(unittest.Te ...

  8. C#读取Excel数据操作大全

    苦丁茶 发表于 2014-02-10 12:58:00 | 分类标签: ASP.NET 读取Excel 本文介绍下,用C#读取excel数据的例子,包括读取整个工作薄的数据.读取工作薄选定区域中的数据 ...

  9. C# 读取Excel中的数据

    #region 读取Excel中的数据 /// <summary> /// 读取Excel中的数据 /// </summary> /// <param name=&quo ...

随机推荐

  1. (原)ffmpeg中filter开发过程遇到的坑<一>

    最近在使用ffmpeg开发了一些滤镜filter功能,中间出现一些问题,今天想把这部分的内容整理为笔记,方便以后遇到同样问题的时候,方便翻阅. author:lihaiping1603@aliyun. ...

  2. python对不同类型文件(doc,txt,pdf)的字符查找

    python对不同类型文件的字符查找 TXT文件: def txt_handler(self, f_name, find_str): """ 处理txt文件 :param ...

  3. SpringBoot处理异常方式

    SpringBoot提供了多种处理异常方式,以下为常用的几种 1. 自定义错误异常页面 SpringBoot默认的处理异常的机制:SpringBoot默认的已经提供了一套处理异常的机制.一旦程序中出现 ...

  4. 使用mwget代替wget

    wget相对于浏览器来说,速度会比较偏慢,特别是国外的网站. 刚好经常用的xftp无法正常使用了,于是开始折腾mwget 下面来看一下安装步骤: wget http://jaist.dl.source ...

  5. BottomTabNavigator 顶部导航的显示隐藏

    const TabNavigator = createBottomTabNavigator({ ...模块, ...模块, },{ navigationOptions:{ header:null }

  6. RTSP Spectification

    Refer: https://www.ietf.org/rfc/rfc2326.txt Network Working Group H. SchulzrinneRequest for Comments ...

  7. Windows Server 2008 R2怎样设置自动登陆(登录)

    方法一: 打开电脑“菜单”,右键点击“运行”,在对话框输入“control userpasswords2”,点击“确定”. 弹出的窗口取消勾选“要使用本机用户必须输入用户名和密码”,取消后点击“确定” ...

  8. Fiddler抓包工具的简单使用

    Fiddler的官方网站:http://www.fiddler2.com Fiddler的官方帮助:http://docs.telerik.com/fiddler/knowledgebase/quic ...

  9. Java设计模式--观察者模式到监听器

    观察者模式是对象的行为模式.又叫做发布-订阅模式.模型-视图模式.源-监听器模式. 抽象主题角色:主题角色将所有对观察者对象的引用到保存在一个集合里,每个主题都可以拥有任意数量的观察者.抽象主题提供一 ...

  10. day51——对象、BOM对象、DOM对象

    day51 JSON对象 var a = {'name':'太白','age':89}; 序列化:var b = JSON.stringify(a); 反序列化:var c = JSON.parse( ...