用python+openpyxl从表格中读取测试用例的多条数据,然后将执行结果写入表格中
# -*- coding: utf-8 -*-
from selenium import webdriver
from openpyxl import load_workbook
class mylogintest():
'''打开百度测试''' def openBD(self):
'''打开百度'''
print("begin")
self.driver = webdriver.Firefox()
book = load_workbook("mylogintest.xlsx") # 默认可读写,若有需要可以指定write_only和read_only为True
b = book.active
datadict = {} #创建一个字典变量
maxC = b.max_column#获取最大列
maxR = b.max_row#获取最大行
for i in range(1, maxC + 1):#range默认从0开始,到后面参数的-1结束,而openpyxl都是从第一行第一列开始的,所以参数为1,maxC+1;意思就是遍历第一列到最后一列,
datadict.setdefault(b.cell(1, i).value)#设置字典datadict的键值,从第一行第一列,到第一行最后一列,也就是第一行的标题设置为键值,i表示列
# print(datadict)
for i in range(2, maxR + 1):#除去第一行标题,从第二行遍历到最后一行
for j in range(1, maxC + 1):#从第一列遍历到最后一列
datadict[b.cell(1, j).value] = b.cell(i, j).value#在字典里设置键对应的值,j表示列
# print(datadict)
# if datadict["url"] & datadict["校验"] != None:
self.driver.get(datadict["地址"])#从对应键里取出值地址对应的URL值,这里的键就是表格的第一行标题,所以EXCEL的标题要按照规定来写
if self.driver.title == datadict["校验"]:#如果打开地址后,title值跟校验对应的值一致
b.cell(i, maxC, '通过')#就将测试通过结果写入表格中
else:
b.cell(i, maxC, '不通过')#就将测试不通过结果写入表格中
book.save("mylogintest.xlsx")#最后记得关闭
self.driver.quit()
print("end") mylogintest().openBD()
脚本运行后,表格如下:
用python+openpyxl从表格中读取测试用例的多条数据,然后将执行结果写入表格中的更多相关文章
- C# asp.net中导出Excel表时总出现"只能在执行 Render() 的过程中调用 RegisterForEventValidation
C# asp.net中导出Excel表时总出现"只能在执行 Render() 的过程中调用 RegisterForEventValidation 后台添加以下方法:/// <summa ...
- java 将数据库中的每一条数据取出放入数组或者List中
1.如何将数据库中数据按照行(即一整条数据)取出来,存入到数组当中? public static String str = null; // 将StringBuffer转化成字符串 public st ...
- 使用jQuery解析JSON数据(由ajax发送请求到php文件处理数据返回json数据,然后解析json写入html中呈现)
在上一篇的Struts2之ajax初析中,我们得到了comments对象的JSON数据,在本篇中,我们将使用jQuery进行数据解析. 我们先以解析上例中的comments对象的JSON数据为例,然后 ...
- 关于MyBatis的collection集合中只能取到一条数据的问题
问题:在涉及多表查询的时候,使用collection元素来映射集合属性时,出现了只能查询到一条数据的情况,但用sql语句在数据库中查询会有多条记录. 解决:如果两表联查,主表和明细表的主键都是id的话 ...
- SQL中一次插入多条数据
SQL中insert一次可以插入一条数据,我们有三种方法可以一次性插入多条数据. 1. 语法:select 字段列表 into 新表 from 源表 注意事项:此种方法新表是系统自动创建,语句执行前不 ...
- layui问题之渲染数据表格时,只显示10条数据
通过ajax请求的数据,console.log()有30条数据,实际上只显示10条, 原因是没有设置limit table.render({ elem: '#report-collection' , ...
- [Python]-openpyxl模块Excel数据处理-读取公式的结果
日常需要Python来处理各种数据,处理Excel数据常用的库一般有openpyxl.xlrd(读取).xlwt(写入). 经过对比发现openpyxl模块比较好用. openpyxl模块 这篇笔记比 ...
- android中读取SD卡上的数据
通过Context的openFileInput或者openFileOutput打开的文件输入输出流是操作应用程序的数据文件夹里的文件,这样存储的大小比较有限,为了更好的存取应用程序的大文件数据,应用程 ...
- python 关于如何把json文件里面的多条数据删除,只保留自己需要的条目
参考博客: https://www.cnblogs.com/bigberg/p/6430095.html https://zhidao.baidu.com/question/7173208338528 ...
随机推荐
- 【MongoDB学习之五】Java中使用MongoDB
环境 MongoDB 3.0 CentOS6.5_x64 相关jar:mongo-java-driver-3.0.0.jar package com.mongodb; import java.util ...
- mysql语句笔记
创建数据库 create database name(自定义): #创建一个数据库 name自己取 create database if not exists name() default cha ...
- .Net Core 3 骚操作 之 用 Windows 桌面应用开发 Asp.Net Core 网站
前言 曾经在开发 Asp.Net 网站时就在想,为什么一定要把网站挂到 IIS 上?网站项目的 Main 函数哪儿去了?后来才知道这个 Main 函数在 w3wp.exe 里,这也是 IIS 的主进程 ...
- Linux用户查询、新增&删除
1.查询用户tail -1 /etc/passwd 2.新增用户&用户组groupadd testgroup #组的添加useradd testuser #创建用户testuserpasswd ...
- javascript两种循环写法
var i=0,len=cars.length; for (; i<len; ) { document.write(cars[i] + "<br>"); i++; ...
- OpenLayers加载谷歌地球离线瓦片地图
本文使用OpenLayers最新版本V5.3.0演示:如何使用OpenLayer加载谷歌地球离线瓦片地图.OpenLayers 5.3.0下载地址为:https://github.com/openla ...
- C++构造和解析JSON
JSON是一种轻量级的数据交互格式,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率,实际项目中经常用到,相比xml有很多优点,问问度娘,优点一箩筐. 第三方库 json解析选用j ...
- Delphi阿里云对象存储OSS【支持上传文件、下载文件、删除文件、创建目录、删除目录、Bucket操作等】
作者QQ:(648437169) 点击下载➨Delphi阿里云对象存储OSS 阿里云api文档 [Delphi阿里云对象存储OSS]支持 获取Bucket列表.设置Bucket ...
- Python列表添加元素
Python列表添加元素 1.appent() 在列表尾部添加一个元素 >>>my_list.append("append方法") >>>my_ ...
- git 学习笔记--Feature分支
软件开发中,总有无穷无尽的新的功能要不断添加进来. 添加一个新功能时,你肯定不希望因为一些实验性质的代码,把主分支搞乱了,所以,每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合 ...