【原创】python+selenium,用xlrd,读取excel数据,执行测试用例
# -*- coding: utf-8 -*-
import unittest
import time
from selenium import webdriver
import xlrd,xlwt
import HTMLTestRunner
from openpyxl import load_workbook
class mylogintest(unittest.TestCase):#定义一个mylogintest类继承unittest.TestCase类
'''打开百度测试'''
# @classmethod
# def tearDownClass(cls):#用例执行后的初始化工作
# print('结束测试') def setUp(self):#用例执行前的初始化工作
print("开始测试")
self.driver = webdriver.Firefox() def tearDown(self):#用例执行后的初始化工作
print("结束测试")
self.driver.quit() def testopenBD(self):
'''打开百度'''
book = xlrd.open_workbook("mylogintest.xlsx") # 新建文件对象
sheet = book.sheet_by_name("Sheet1") # 获取文件对象中sheet名为login的sheet对象
# # # url1 = sheet.cell(1, 0).value 获取第2行第1列的值
# # # url2 = sheet.cell(1, 1).value获取第2行第2列的值
nrows = sheet.nrows # 获取总行数
urllist = []
for i in range(1, nrows):
print(i)
nrowsvalue = sheet.row_values(i, 0)#获取第i+1行 第1列的值
urllist.append(nrowsvalue) # 这里添加元素不能用list = list.append(nrowsvalue);否则会出现nonetype的错误;
print(urllist)
driver = self.driver
for i in range(len(urllist)): # 获取list长度;range表示默认0开始的整数迭代
print(urllist[i])
driver.get(''.join(urllist[i]))#将list类型转换成字符串类型
print(driver.title)
self.assertEqual(driver.title,'百度一下,你就知道','失败')#添加断言;当driver.title的值为‘百度一下,你就知道’时,断言通过,否则不通过,程序将会终断
time.sleep(3) # @classmethod
# def setUpClass(cls):##用例执行前的初始化工作
# print('开始测试') if __name__=='__main__':
filename = './'+'mylogintestresult.html'#定义文件名与路径
fp = open(filename,'wb')#生成文件
ut = unittest.TestSuite() # 创建测试套件;TestSuite不加括号的结果:addTest() missing 1 required positional argument: 'test'
ut.addTest(mylogintest('testopenBD'))#将要执行的用例加入测试套件中
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='分别打开百度51网站',description='百度51') #如果引用的是from HTMLTestRunner import HTMLTestRunner,这里就不需要写两个HTMLTestRunner,一个就够了
runner.run(ut)#运行测试套件
fp.close()
EXCEL表格内容为:

生成的测试报告如下:

【原创】python+selenium,用xlrd,读取excel数据,执行测试用例的更多相关文章
- python使用xlrd读取excel数据时,整数变小数的解决办法
python使用xlrd读取excel数据时,整数变小数: 解决方法: 1.有个比较简单的就是在数字和日期的单元格内容前加上一个英文的逗号即可.如果数据比较多,也可以批量加英文逗号的前缀(网上都有方法 ...
- Python用xlrd读取Excel数据到list中再用xlwt把数据写入到新的Excel中
一.先用xlrd读取Excel数据到list列表中(存入列表中的数据如下图所示) import xlrd as xd #导入需要的包 import xlwt data =xd.open_workboo ...
- python使用xlrd读取excel数据
一.安装xlrd 库的安装我这里就不说了.. 二.读取 excel 前提条件:excel文件名称为 excel_data.xlsx 1.打开excelw 文件 workbook = xlrd.open ...
- 使用python三方库xlrd解析excel数据
excel是平常用的比较多的一种数据格式,而在自动化测试过程中,解析其数据以供脚本使用就是一个重要的工作,幸好已有现存的三方库供使用,而不必重新造轮子. 一.安装xlrd模块 到python官网下载h ...
- Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
- 【python-excel】Selenium+python自动化之读取Excel数据(xlrd)
Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ·········· ...
- python 的两个模块xlwt,xlrd,写入和读取Excel数据
http://www.cnblogs.com/fireme/p/3887284.html 这上面写的很全,不过我只需要简单的读和写的操作就ok了,下面是我写的读和写入Excel操作 读取Excel数据 ...
- Delphi中使用python脚本读取Excel数据
Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...
- python 读取excel数据并将测试结果填入Excel
python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...
- Python模块学习之xlrd 读取Excel时传入formatting_info=True报错:NotImplementedError: formatting_info=True not yet implemented
问题:xlrd读取Excel时传入 formatting_info=True 报错 之前我们使用读取xls文件的时候都是使用的xlrd库,但是这个库只能操作 .xls格式,对于后来的 .xlsx的版本 ...
随机推荐
- 使用vue搭建应用四引入axios
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 特性 从浏览器中创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 P ...
- [数据结构 - 第3章] 线性表之顺序表(C++实现)
一.类定义 顺序表类的定义如下: #ifndef SEQLIST_H #define SEQLIST_H typedef int ElemType; /* "ElemType类型根据实际情况 ...
- 【转帖】为什么有了Compose和Swarm,还会有Kubernetes的出现?
为什么有了Compose和Swarm,还会有Kubernetes的出现? https://www.cnblogs.com/chenqionghe/p/11474486.html 图非常好 一.k8s设 ...
- [转帖]插曲:大白话带你认识Kafka
插曲:大白话带你认识Kafka 2019-11-18 21:58:27 从事Java 阅读数 2更多 分类专栏: java Kafaka 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA ...
- c++11多线程记录5: Unique Lock和延时初始化
https://www.youtube.com/user/BoQianTheProgrammer 视频网址 Unique Lock unique_lock和lock_guard类似,都是mutex的w ...
- 54 容器(九)——HashSet
HashSet的特点: 无序,不可重复. HashSet实现自Set,而Set继承自Collection,在日常使用中,我们都是以Set引用指向HashSet对象的方式. 所以,Set中的方法是我们主 ...
- day15——有参装饰器、多个装饰器装饰一个函数
day15 装饰器的进阶 有参装饰器 @auth(chose) 相等于以下两行代码的解构 wrapper = auth(chose) foo = wrapper(foo) # dic = {'user ...
- Cpp_Primer_4th_Edition-source-code
Cpp_Primer_4th_Edition-source-code 根据书上的去找,官网已经找不到了,毕竟第6版都已经出来了.不过有的朋友用的还是第4版,我的纸质书是第5版,pdf是第4版,都有在看 ...
- Linux环境下进程的CPU占用率
阿里云服务器网站:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=qqwovx6h 文字来源:http://www.s ...
- Unity - 简单实现音频管理系统
简单实现Unity音频管理脚本,便于长短音频的播放控制和音量控制等,核心方法为对象池的应用. 项目地址:AudioPlay - SouthBegonia 包含方法: 持有所有 AudioSource ...