xlrd

Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(已开源)

邮差的信 提交于 2020-08-10 08:49:08
目录 废话 功能 运行机制 已知问题 环境与依赖 目录结构 执行顺序 config.ymal展示 EXcel用例展示 脚本一览 运行结果 致谢 源码地址 废话 和几个朋友聊天然后出来的产物希望能帮到大家学习接口自动化测试,欢迎大家交流指出不合适的地方,源码在文末 功能 实现:get/post请求(上传文件)::理论上其他delete/put等请求也实现了 发送邮件 生成allure测试报告 压缩测试报告文件 数据依赖 运行机制 通过读取配置文件,获取到host地址、提取token的jsonpath表达式,提取实际响应结果用来与预期结果比对的jsonpath表达式。 读取excel用例文件数据,组成一个符合pytest参数化的用例数据,根据每列进行数据处理(token操作、数据依赖) token,写,需要使用一个正常登录的接口,并且接口中要返回token数据,才可以提取,token,读为该请求将携带有token的header,token 无数据的将不携带token 数据依赖处理,从excel中读取出来的格式{"用例编号":["jsonpath表达式1", "jsonpath表达式2"]},通过用例编号来获取对应case的实际响应结果(实际响应结果在发送请求后,回写到excel中),通过jsonpath表达式提取对应的依赖参数字段,以及对应的值

手把手教你使用Python抓取QQ音乐数据(第三弹)

懵懂的女人 提交于 2020-08-09 14:25:05
【一、项目目标】 通过手把手教你使用Python抓取QQ音乐数据(第一弹)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。 通过手把手教你使用Python抓取QQ音乐数据(第二弹)我们实现了获取 QQ 音乐指定歌曲的歌词和指定歌曲首页热评。 此次我们在项目(二)的基础上获取更多评论并生成词云图,形成手把手教你使用Python抓取QQ音乐数据(第三弹)。 【二、需要的库】 主要涉及的库有:requests、json、wordcloud、jieba 如需更换词云图背景图片还需要numpy库和PIL库(pipinstall pillow) 【三、项目实现】 1、首先回顾一下,下面是项目(二)获取指定歌曲首页热评的代码; def get_comment(i): url_3 = 'https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg' headers = { 'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36', # 标记了请求从什么设备,什么浏览器上发出 } params = {'g_tk_new

python 编辑表格文件

我们两清 提交于 2020-08-09 13:29:35
import xlrd,xlwt,xlutils self.data = xlrd.open_workbook(file,formatting_info = True) #打开文件 sheet1 = self.data.sheet_by_name('功能用例模板') writeOpenxlsx = copy(self.data) #复制excel内容和修改文件 #获取表格列内容 tag = sheet1.col_values(6) #修改表格内容 writexlsxSheet = writeOpenxlsx.get_sheet('功能用例模板') style1 = xlwt.easyxf(font:height 240, color-index red, bold on;align: wrap on, vert centre, horiz center;border: left thin,right thin,top thin,bottom thin) #表格格式:加上边框 writexlsxSheet.write(i,11,res,style1) #将结果写入第11列,表格格式为style1 #保存 writeOpenxlsx.save(file) 来源: oschina 链接: https://my.oschina.net/u/3766116/blog/4428039

实现selenium+python3+cookie免密登录CSDN

随声附和 提交于 2020-08-09 02:38:36
分两步来做: 第一步:登录CSDN并获取cookies,并保存到json文件或者excel文件中,本文使用excel文件保存cookie数据。 第二步:读取excel文件中的cookie数据,添加cookie信息。 我们按照步骤一步步来做,第一步:打开CSDN系统,点击登录/注册按钮,跳转到登录页面,有很多种登录方式,我这里使用微信扫码登录获取cookies(因为使用账号、密码登录时需要安全验证,且手动处理失败,没找到解决的办法。),登录后获取到的cookie存到excel文件中。代码如下。 1 import os 2 import time 3 import xlwt,xlrd 4 from selenium import webdriver 5 6 chrome_path=os.getcwd()+ ' /webdriver/chromedriver.exe ' # 这是我的谷歌的浏览器驱动的存放路径 7 driver=webdriver.Chrome(executable_path= chrome_path) 8 driver.implicitly_wait(10 ) 9 10 # (1)手动登录CSDN获取cookie。 11 driver.get( ' https://www.csdn.net/ ' ) 12 driver.maximize_window() 13

用 Python 将 Excel 表格转成可视化图形

一个人想着一个人 提交于 2020-08-08 22:56:05
大家知道,考研很大一部分也是考信息收集能力。每年往往有很多人就是在这上面栽跟头了,不能正确分析各大院校往年的录取信息,进而没能选择合适的报考院校。 至于很多院校的录取信息是以 PDF 形式发布,例如我手上的深大电通录取结果,这就需要我们先把 PDF 转化为 Excel 啦。 (1)PDF (2)Excel 有了 Excel,那我们就可以为所欲为了! 开始 1. 载入 Excel 表格 #coding=utf8 import xlrd import numpy as np from pyecharts.charts import Bar from pyecharts.charts import Pie, Grid from pyecharts import options as opts #==================== 准备数据 ==================== # 导入Excel 文件 data = xlrd.open_workbook("C:/深圳大学电子与信息工程学院2020年电子信息硕士生拟录取名单.xlsx") # 载入第一个表格 table = data.sheets[0] 2. 提取 Excel 表格数据 tables = def Read_Excel(excel): # 从第4行开始读取数据,因为这个Excel文件里面从第四行开始才是考生信息

接口测试学习-python第九课(yaml格式的测试用例)

醉酒当歌 提交于 2020-08-07 16:22:03
在上一节课程中,学习了根据数据驱动测试,当时测试接口需要的数据是存储在excel文档中的,读取比较麻烦。下面是读取excel文档并获取到接口测试必须数据和验证结果数据的代码。首先我们需要创建一个空的list来存放读取到的数据,然后打开excel文档,从第二行开始读取用例内容(第一行是标题),获取到每行内容后,只保留接口测试需要的数据(原来的excel文档中第四列到第七列分别存放了url,请求方式,请求参数,预期结果),然后将这部分数据存入空的list中。这样cases就是一个二维数据,这个list中包含了excel中每一行的用例数据,每个用例数据里面包含了四个元素。类似于[[url1,method1,req_data1,check1],[url2,method2,req_data2,check2]]。代码中的apt_log是实例化的日志记录类。但是读取后,在使用这些元素进行接口测试时,还需要再次转换,因为request模块接口测试中的data是字典格式的。此处是list格式,届时还需要转换。 1 def get_case(self, file_path): 2 cases = [] # 存放所有的测试用例 3 if file_path.endswith( ' .xls ' ) or file_path.endswith( ' .xlsx ' ): # 判断路径是否存在 4 try

Python 读写excel Part1

醉酒当歌 提交于 2020-08-07 15:02:04
背景 有很多朋友对Python处理excel很感兴趣,虽然我不是这方面的专家,如果用C# openxl 是分分钟搞定的事情,再次点用Npoi也行,Python则完全陌生。 目标 既然以学习为目标去完成这件事,那么就不必太复杂(复杂我也做不来),就假设我们是在做销售系统吧。如果不专业请轻喷。 一份Excel的产品单,一份客户单,一份订单,字段简单点。 从头开始生成 一,工具 既然使用Python,当然要介绍一下工具库: 主要有openpyxl、xlwt、xlrd、Pandas(这是真的可以)、xlsxwriter 先来分析对比一波 1、Openpyxl 优势:快速、高效地读写Excel,可控制大部分Excel元素,并且写入时可以贴入公式 劣势:对初学者非常不友好,属性超级多,并且按xml格式控制;再来样式只能定义一次,修改样式就得先复制一份再重新构造,工作量几何级上升 2、xlsxwriter 专门用于写数据的方法 优势:快速,可控制大部分样式,公式只能以字符串处理,写数据以xy定位或单元格命名为主 劣势:没有毒没有毒没有毒,所以,千万别用同一份excel文档进行处理(我就吃了这个亏,好好几十万条记录被清洗一空),暂时不知道怎么追加到原文档后添加新sheet 3、xlrd、xlwt 可读写的excel库 优势:基本上用来读excel数据,非常精准、数据类型清晰 劣势:写明显很慢

用Python3生成30万条excel数据(xlsx格式)

末鹿安然 提交于 2020-08-07 13:11:14
在B/S架构的系统测试中,有时需要通过导入excel文件来生成一些数据记录,当数据量小的时候,一般不会出现什么问题,而当导入的数据量巨大时,对系统的性能就是一个考验了。为了验证系统的性能,有时需要导入海量的数据,如30万条数据记录,而手头并没有这么多数据时该怎么办呢?一条一条复制粘贴,或者通过excel的下拉拖动来生成记录?这样会把测试人员累死,而且单调重复的工作,非常无趣。这时,我们只需借助python,便可以轻松生成大量数据,把人从单调重复的工作中解放出来,去做更有意义的事。 例如,我们需要生成如下的数据。 这是一条用户信息的示例数据,其中包含几种编号、姓名、性别、爱好、最喜欢的电影、音乐等信息,而其中只需校验A、I、L这三列的不同编号。其他数据在性能测试中不是很关心,那么我们可以利用规则生成一些数据,其中仅A、I、L三列不同,其他信息保持不变。 思路:先将表头和示例数据保存在一个示例文件中,通过xlrd来读取示例内容,通过xlsxwriter来按规则写入表头和不同的信息。 话不多说,我们直接上代码: 1 import xlrd 2 import xlsxwriter 3 # 文件名以及路径,前面加一个r防止生成不必要的转义。 4 filename=r ' D:\001\example.xlsx ' 5 data = xlrd.open_workbook(filename) 6

python对Excel的读取

烈酒焚心 提交于 2020-08-06 08:03:33
  在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件中吗?   应对这一问题,可以将数据写excel文件,针对excel 文件进行操作,完美解决。   本文仅介绍python对excel的操作    安装xlrd 库   xlrd库 官方地址: https://pypi.org/project/xlrd/   pip install xlrd         笔者在安装时使用了 pip3 install xlrd   原因:笔者同时安装了python2 和 python3   如果pip的话会默认将库安装到python2中,python3中不能直接调用。   那么到底是使用pip 还是pip3进行安装呢?     如果系统中只安装了Python2,那么就只能使用pip。     如果系统中只安装了Python3,那么既可以使用pip也可以使用pip3,二者是等价的。     如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。 Xlrd 库简单的使用   以如下excel文件为例进行操作   文件名为demo,有两个sheet,名为工作表1和工作表2   工作表1中有如下数据      

实战--Python读取Excel表中的用例

早过忘川 提交于 2020-08-05 16:24:30
不管是做Ui自动化和接口自动,代码和数据要分离,会用到Excel,yaml,ini。今天我们重点讲讲Excel数据数据读取,重点是告诉小伙伴思路。 用例如下图: 小伙伴都知道,测试用例是有很多条的,少则几十条,多则上百条?自动化测试的话,测试中需要对用例数据进行读取,那必须循环读取才可以实现自动化。那么问题来了,怎么做呢? 思路: 1、用列表存放这些用例数据,所以要用到列表 2、每一行用例要存放在字典内,所以需要用到字典 3、循环写入到字典,然后存放到列表内 附源码: # !/usr/bin/python3 import xlrd class excel_data: """ 读取excl表接口数据 """ data_path = " E:\\api_interface\\data\\interface.xlsx " # 打开文件 excel = xlrd.open_workbook(data_path) # 通过下标定位表格 sheet = excel.sheet_by_index(0) # 行: 6 和列数: 5 rows, cols = sheet.nrows, sheet.ncols def read_excl(self): # 获取第一行数据key first_row = self.sheet.row_values(0) # print(first_row) # [编号