zoukankan      html  css  js  c++  java
  • 用python+openpyxl从表格中读取测试用例的多条数据,然后将执行结果写入表格中

     1 # -*- coding: utf-8 -*-
     2 from selenium import webdriver
     3 from openpyxl import load_workbook
     4 class mylogintest():
     5     '''打开百度测试'''
     6 
     7     def openBD(self):
     8         '''打开百度'''
     9         print("begin")
    10         self.driver = webdriver.Firefox()
    11         book = load_workbook("mylogintest.xlsx")  # 默认可读写,若有需要可以指定write_only和read_only为True
    12         b = book.active
    13         datadict = {} #创建一个字典变量
    14         maxC = b.max_column#获取最大列
    15         maxR = b.max_row#获取最大行
    16         for i in range(1, maxC + 1):#range默认从0开始,到后面参数的-1结束,而openpyxl都是从第一行第一列开始的,所以参数为1,maxC+1;意思就是遍历第一列到最后一列,
    17             datadict.setdefault(b.cell(1, i).value)#设置字典datadict的键值,从第一行第一列,到第一行最后一列,也就是第一行的标题设置为键值,i表示列
    18             # print(datadict)
    19         for i in range(2, maxR + 1):#除去第一行标题,从第二行遍历到最后一行
    20             for j in range(1, maxC + 1):#从第一列遍历到最后一列
    21                 datadict[b.cell(1, j).value] = b.cell(i, j).value#在字典里设置键对应的值,j表示列
    22                 # print(datadict)
    23             # if datadict["url"] & datadict["校验"] != None:
    24             self.driver.get(datadict["地址"])#从对应键里取出值地址对应的URL值,这里的键就是表格的第一行标题,所以EXCEL的标题要按照规定来写
    25             if self.driver.title == datadict["校验"]:#如果打开地址后,title值跟校验对应的值一致
    26                 b.cell(i, maxC, '通过')#就将测试通过结果写入表格中
    27             else:
    28                 b.cell(i, maxC, '不通过')#就将测试不通过结果写入表格中
    29         book.save("mylogintest.xlsx")#最后记得关闭
    30         self.driver.quit()
    31         print("end")
    32 
    33 mylogintest().openBD()

    脚本运行后,表格如下:

  • 相关阅读:
    UVA232-纵横字谜的答案
    【SpringBoot】Re 02 Import与自定义装配实现
    【SpringBoot】Re 01 补充学习
    【ECharts】04 数据交互
    【ECharts】03 样式
    【ECharts】02 饼图
    【ECharts】01 快速上手
    【Mycat】01 概述
    【Git】05 分支管理
    【Git】04 文件删除
  • 原文地址:https://www.cnblogs.com/lelexiong/p/8995254.html
Copyright © 2011-2022 走看看