python接口自动化测试--数据分离读取Excal指定单元格数据
上一篇博客讲了怎么批量读取Excal单元格数据,现在咱们说一下怎么读取Excal指定单元格数据。
一、首先建一个Test_Main类
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import requests
import unittest
class TestDenmo(unittest.TestCase):
def setUp(self):
pass
def test_demo1(self):
print ("用例一开始执行")
url = '' #此处填写请求的url
xmlhead = '' #工作中数据以json、xml为主,此处以xml格式为例
xmlbody = ''
data = {'xmlhead' : xmlhead, 'xmlbody' : xmlbody}
result = requests.post(url, data =data)
try:
self.assertEqual(result.status_code, 200)
print ("用例一测试通过")
except Exception as e:
print e
print "用例一测试不通过"
def tearDown(self):
pass
if __name__ == '__main__':
unittest.run()
二、现在开始写读取Excal指定单元格的方法了。建一个python文件Read_Excal:
#!/usr/bin/python
# -*- coding: UTF-8 -*- import xlrd class get_data(object):
def __init__(self, path = ''):
self.filepath = xlrd.open_workbook(path)#打开文件 def datasheet_by_name(self,sheet,row,col):
self.sheetname = self.filepath.sheet_by_name(sheet) #打开Excal中sheet页名称为"sheet"的表格
self.data = self.sheetname.cell_value(row,col) #获取第"row"行第"col"列的数据
return self.data
#以下代码调试用,调试正常可删掉或注释掉
if __name__ == '__main__':
filepath = get_data(path) #此处path填具体路径
resultdata = filepath.datasheet_by_name(sheet,row,col) #此处三个参数赋予具体值
print resultdata
三、写完读取excal的get_data类后,可以封装一个方法调用get_data.因此建一个python文件base,代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from Read_Excal import get_data
def result_need(sheet,row,col):
resudata = get_data(path).datasheet_by_name(sheet,row,col)#可以在此处赋予path值,也可在Test_Main类中赋值,为了简便,个人感觉在此处赋值合适些
return resudata
四、写完了调用get_data类的公共方法,咱们回过头来看一下Test_Main类.可以把Test_Main类里的数据分离到Excal中,优化代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*- import requests
import unittest
from base import result_need #导入公共方法base
class TestDenmo(unittest.TestCase):
def setUp(self):
pass
def test_demo1(self):
print ("用例一开始执行")
url = result_need('url',0,0) #此次把URL放到Excal中进行读取。为了便于维护和安全,也可把URL进行多次分离封装后,放到setUp()方法中
xmlhead = result_need('xmlhead',0,0)
xmlbody = result_need('xmlbody',13,0)
data = {'xmlhead' : xmlhead, 'xmlbody' : xmlbody}
result = requests.post(url, data =data)
try:
self.assertEqual(result.status_code, 200)
print ("用例一测试通过")
except Exception as e:
print e
print "用例一测试不通过"
def tearDown(self):
pass
if __name__ == '__main__':
unittest.run()
代码运行成功,至此,所有参数数据和代码分离。结合上一篇关于row_values()批量获取Excal单元格数据来看,个人感觉cell_value()获取指定单元格数据的方法,所使用的代码更简洁。自动化测试过程中,可以以此为模板添加用例。也可以在此代码的基础上继续优化,和前端配合开发一个适合自己公司的简易自动化测试工具,那样只改一下Excal里的参数,测试起来会更方便。
python接口自动化测试--数据分离读取Excal指定单元格数据的更多相关文章
- 使用VBA将Excel指定单元格数据、字符串或者图表对象插入到Word模板指定书签处
准备工作: 1.首先需要提供一个word模板,并且标记好您要插入书签的位置,定义书签的命名.如图 2.模拟您要插入的Excel原始数据和图表对象 插入代码如下: Private Sub Command ...
- Python 用load_workbook 读取excel某个单元格数据、读取excel行数、列数
from openpyxl import load_workbook path = r'D:\pywork\12' # EXCEL信息所在文件夹 e= load_workbook(path + '/' ...
- 基于Python接口自动化测试框架+数据与代码分离(进阶篇)附源码
引言 在上一篇<基于Python接口自动化测试框架(初级篇)附源码>讲过了接口自动化测试框架的搭建,最核心的模块功能就是测试数据库初始化,再来看看之前的框架结构: 可以看出testcase ...
- python接口自动化测试--批量读取数据
为了便于维护,python接口自动化测试用例可以利用xlrd模块读取excal表格进行数据分离.我们可以利用xlrd模块的row_values()和cell_value()两种方法读取Excal表格. ...
- unittest 管理接口用例(数据分离-读取excel)
1.公共模块 ---> login.xls """ common (package) ---> ReadFile.py """ ...
- 【python大牛分享】python——接口自动化测试框架环境的使用
本文总结分享介绍接口测试框架开发,环境使用python3+selenium3+unittest+ddt+requests测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用 ...
- Python接口自动化测试框架实战 从设计到开发
第1章 课程介绍(不要错过)本章主要讲解课程的详细安排.课程学习要求.课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用本章重点讲解如何抓app\web的htt ...
- 记录python接口自动化测试--把测试结果写进excel文件(第九目)
python中一般使用xlrd(excel read)来读取Excel文件,使用xlwt(excel write)来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用xlrd读取 ...
- python接口自动化测试二十七:密码MD5加密 ''' MD5加密 ''' # 由于MD5模块在python3中被移除 # 在python3中使用hashlib模块进行md5操作 import hashlib # 待加密信息 str = 'asdas89799,.//plrmf' # 创建md5对象 hl = hashlib.md5() # Tips # 此处必须声明encode # 若写法为
python接口自动化测试二十七:密码MD5加密 ''' MD5加密 '''# 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作import has ...
随机推荐
- 程序员的开源月刊:HelloGitHub(第 54 期)
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...
- Spring Boot(二) :Redis 使用
Redis 介绍 Redis 是目前业界使用最广泛的内存数据存储.相比 Memcached,Redis 支持更丰富的数据结构,例如 hashes, lists, sets 等,同时支持数据持久化.除此 ...
- Hadoop框架:HDFS简介与Shell管理命令
本文源码:GitHub·点这里 || GitEE·点这里 一.HDFS基本概述 1.HDFS描述 大数据领域一直面对的两大核心模块:数据存储,数据计算,HDFS作为最重要的大数据存储技术,具有高度的容 ...
- IIS目录浏览模式打开文件还是无法下载
写在前面的话 IIS已经设置目录浏览启用,且可以正常访问到文件,说明这些设置没问题,但是点击文件进行下载时,却提示无法下载,文件不存在等等,有的又可以,一顿操作后发现,原来是文件类型没有包含在MIME ...
- Python练习题 030:Project Euler 002:偶数斐波那契数之和
本题来自 Project Euler 第2题:https://projecteuler.net/problem=2 # Each new term in the Fibonacci sequence ...
- 0921 LCA练习
1.poj 1330 数据结构中的树,在计算机科学中是非常重要的,例如我们来看看下面这棵树: 在图中我们对每个节点都有编号了. 8号节点是这棵树的根.我们定义,一个子节点向它的根节点的路径上,任意一个 ...
- 安卓app功能或自动化测试覆盖率统计(不用instrumentation启动app)
一文带你揭秘如何采取非instrumentation启动app,打造实时统计覆盖率,一键触发覆盖率测试报告. 在上篇文章,一文带你解决Android app手工测试或者自动化测试覆盖率统计(撸代码版) ...
- Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
本文实例讲述了Python数据结构与算法之图的最短路径(Dijkstra算法).分享给大家供大家参考,具体如下: # coding:utf-8 # Dijkstra算法--通过边实现松弛 # 指定一个 ...
- fopen和fopen_s的区别
转载:https://blog.csdn.net/keith_bb/article/details/50063075 fopen: 原型:FILE * fopen(const char * path, ...
- JVM垃圾回收的基础知识
什么是垃圾? 没有任何引用指向的对象,就是垃圾 如何找到垃圾?(2 种方法) 过程:先找到正在使用的对象,然后把没有正在使用的对象进行回收 1.引用数-Reference-Count 被引用数为 0 ...