python,接口自动化pytest,参数读取格式问题

python,pytest接口自动化,excel中一个请求头参数,运行用例时读取不完整,是格式问题吗?

img


Excel中参数是这个,,Auth=AUTH appid="aaaaa",token="abcd"

img

引用GPT作答:
在进行接口自动化测试时,使用Excel作为测试用例文件,有时会出现参数读取不完整的问题。这通常与Excel中参数的格式有关。

一种常见的情况是,Excel的单元格中的数据被默认格式化为日期或数字,而不是字符串。当你将这些数据读取到测试用例中时,可能会出现截断或数据类型错误的情况。

为了解决这个问题,你可以在读取Excel时,使用特定的方式来处理参数。以下是一些可能的解决方案:

  1. 在读取参数时,将其强制转换为字符串类型,以确保参数完整地读取进来。例如,你可以使用str()函数将参数转换为字符串类型:
import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('test_cases.xlsx')

# 选择相应的工作表
worksheet = workbook['Sheet1']

# 读取参数,并将其转换为字符串类型
header = str(worksheet.cell(row=2, column=2).value)
  1. 在Excel中,将参数所在列的格式设置为文本格式,以确保参数被正确读取为字符串。在Excel中,你可以选中参数所在的列,然后将其格式设置为文本。

这些方法可以确保在读取Excel中的参数时,能够获取到完整的参数内容。请根据你自己的具体情况选择适合的解决方案。

希望对你有所帮助!如有任何进一步的问题,请随时提问

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7417391
  • 你也可以参考下这篇文章:自动化测试python 之pytest全面解析
  • 除此之外, 这篇博客: python+pytest接口自动化框架搭建中的 4)操作Excel类封装 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在自动化测试中经常将测试数据放入到Excel中,为了操作简便,将一些操作封装到readExcel类中

    # -*- coding:utf-8 -*-
    # author_='ting.chun'
    # date:2020/10/22 19:05
    import xlrd
    from xlutils import copy
    class ReadExcel:
    	'''
    	此类专门用于读取Excel
    	'''
    	#__workbook用于存放excel文件的对象
    	__workbook=None
    	__sheet=None
    	__print=False #用于开启全局打印
    	def __init__(self,file_name,sheet_name):
    		'''
    		类的初始化方法,在类似初始化的时候被调用
    		:param file_name: excel的文件名
    		:param sheet_name: excel中需要访问的sheet名
    		'''
    		self.file_name=file_name
    		ReadExcel.__workbook=xlrd.open_workbook(file_name)
    		#根据sheet名称获取sheet内容
    		ReadExcel.__sheet=ReadExcel.__workbook.sheet_by_name(sheet_name)
    	def get_number_of_rows(self):
    		'''
    		 获取表格中内容的最大行数
    		:return:__number_of_row
    		'''
    		__rows_number=self.__sheet.nrows
    		if ReadExcel.__print is True:
    			print(__rows_number)
    		return __rows_number
    
    	def get_number_of_cols(self):
    		'''
    		获取表格中内容最大的列数
    		:return: __number_of_cols
    		'''
    		__cols_number=self.__sheet.ncols
    		if ReadExcel.__print is True:
    			print(__cols_number)
    		return __cols_number
    
    	def get_value_of_row(self,row_index):
    		"""
    		获取某一行的所有值构成列表
    		:param row_index: 行号
    		:return: 行内容组成的列表
    		"""
    		__row_value=self.__sheet.row_values(row_index)
    		if ReadExcel.__print is True:
    			print(__row_value)
    		return __row_value
    
    	def get_value_of_col(self, col_index):
    		"""
    		获取某一列的所有值构成的列表
    		:param col_index: 列号
    		:return: 列中内容组成的列表
    		"""
    		__col_value = self.__sheet.col_values(col_index)
    		if ReadExcel.__print is True:
    			print(__col_value)
    		return __col_value
    
    	def get_value_of_cell(self, row_index, col_index):
    		"""
    		获取某一个单元格中的值
    		:param row_index: 行号
    		:param col_index: 列号
    		:return: 单元格中的内容
    		"""
    		# 第row_index行 col_index列是内容
    		__cell_value = self.__sheet.cell(row_index, col_index).value
    		if ReadExcel.__print is True:
    			print(__cell_value)
    		return __cell_value
    
    	def write(self,sheet,row,col,value):
    		new_workbook=copy.copy(ReadExcel.__workbook)
    		w_sheet=new_workbook.get_sheet(sheet)
    		w_sheet.write(row,col,value)
    		new_workbook.save(self.file_name) #保存文件
    
    if __name__=='__main__':
    	filename=r'..\config\api_info.xls'
    	el=ReadExcel(filename,'Sheet1')
    	el.write(0,2,1,"你好吗")
    
    
  • 您还可以看一下 郭宏志老师的细说python测试框架pytest课程中的 pytest课程大纲小节, 巩固相关知识点