1.常见的数据源类型
自动化测试的实现过程中,可以作为数据源的技术有哪些呢?
1.Excel文件:管理方便,操作性强,增加数据都非常简单
2.csv文件:管理方便,操作性强,同excel
3.数据库:相对来说维护比较难,表设计复杂,操作性比不上前两个。
2.openpyxl模块完成Excel的数据读写
openpyxl常用的模块有2个:load_workbook用来读取Excel里面的数据:workbook用来新建工作薄以及写入数据到Excel中,openpyxl常用api函数整理如下:
1.wb=Workbook(workbook_name):创建一个工作簿workbook对象wb,对于Excel表单的操作是要通过workbook对象来完成的,因此要先获取此对象。
2.sh_new=wb.creat_sheet(sheet_name):创建一个表单对象sh_new,因为操作单元格是要通过表单对象来操作的,
3.wb.save(workbook_name):保存好工作簿,新建的工作簿一定要保存好才能进行下一步操作。
4.wb=load_workbook("要打开的工作簿路径"):打开工作簿
5.sh_new=wb['sheet名称']:获取表单对象
6.value=sh_new.cell(a,b).value:获取第a行第b列的数据的值,并存到value对象中
7.sh_new.cell(a,b).value=‘吃个鱼丸’,更新第a行b列的数据值为吃个鱼丸
8.sh_new.max_row:获取最大的行数
9.sh_new.max_column:获取最大的列数
3.Excel数据源实例说明
实现思路:将所有的json数据,每一组测试数据以表格字段-值的形式加到Excel表中,利用openpyxl模块打开Excel表,先获取到最大的行数以及最大的列数,通过for循环遍历实现数据的读取,编写成读取数据类。
4.测试结果回写
编写测试用例时,往往是把预期结果和实际结果去对比,一致则测试通过,否则失败。所以我们把接口请求的返回结果直接写入Excel表中时,更能直接对比两列的数据。
拓展DoExcel类来实现,利用上面说的‘7.sh_new.cell(a,b).value=‘吃个鱼丸’,更新第a行b列的数据值为吃个鱼丸’即可实现。