excel:测试数据.xlsx

python获取excel中的数据方法,excelutil.py

#encoding =utf-8
# -*- coding:utf-8 -*-
from openpyxl import load_workbook
class pexcel(object):def __init__(self,excelPath,sheetName):self.wb=load_workbook(excelPath)self.sheet=self.wb.get_sheet_by_name(sheetName)self.maxRowNum=self.sheet.max_rowdef getdatas(self):datalist=[]for line in self.sheet.rows[1:]:tmplist=[]tmplist.append(line[1].value)tmplist.append(line[2].value)datalist.append(tmplist)return datalist
if __name__=="__main__":execelPath=u"C:\\测试数据.xlsx"sheetName=u"Sheet1"for i in pexcel(execelPath,sheetName).getdatas():print i[0],i[1]

从excel导入测试数据.py

#encoding =utf-8
# -*- coding:utf-8 -*-
from selenium import webdriver
import unittest,time
import logging,traceback
import ddt
from reportHtml import htmlTemplate
from selenium.common.exceptions import NoSuchElementException
from excelutil import pexcel
logger = logging.getLogger('mylogger1')
logger.setLevel(logging.DEBUG)
# 创建一个handler,用于写入日志文件
fh = logging.FileHandler('C:/test.log')
fh.setLevel(logging.DEBUG)
# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# 定义handler的输出格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# 给logger添加handler
logger.addHandler(fh)
logger.addHandler(ch)execelPath = u"C:\\测试数据.xlsx"
sheetName = u"Sheet1"
excel=pexcel(execelPath,sheetName)@ddt.ddt
class Testdemo(unittest.TestCase):@classmethoddef setUpClass(cls):Testdemo.trStr=""def setUp(self):self.driver=webdriver.Firefox(executable_path="C:\\webdriver\geckodriver")status=Noneflag=0@ddt.data(*excel.getdatas())def test_dataDriverByFile(self,value):testdata,expectdata=tuple(value)flagDict={0:'red',1:'#00AC4E'}url="http://www.baidu.com"self.driver.get(url)self.driver.maximize_window()# print value.decode('utf-8')self.driver.implicitly_wait(10)try:start=time.time()startTime=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())self.driver.find_element_by_id("kw").send_keys(testdata)self.driver.find_element_by_id("su").click()time.sleep(3)self.assertTrue(expectdata in self.driver.page_source)except NoSuchElementException,e:logger.error(u"找不到页面元素")status='fail'flag=0except AssertionError,e:logger.info(u"搜索失败")status='fail'flag=0except Exception,e:logger.info(u"未知错误")status='fail'flag=0else:logger.info(u"搜索成功")status='pass'flag=1wasteTime=time.time()-start-3Testdemo.trStr += u'''<tr><td>%s</td><td>%s</td><td>%s</td><td>%.2f</td><td style="color:%s">%s</td></tr><br/>'''%(testdata,expectdata,startTime,wasteTime,flagDict[flag],status)def tearDown(self):self.driver.quit()@classmethoddef tearDownClass(cls):htmlTemplate(Testdemo.trStr)if __name__=='__main__':unittest.main()

案例3-数据驱动测试-从excel导入数据相关推荐

  1. excel导入数据校验_从Excel数据验证列表中选择多个项目

    excel导入数据校验 You've probably used an Excel data validation drop down list, where you can click the ar ...

  2. excel导入数据校验_Excel数据验证更新

    excel导入数据校验 I've finally updated my Data Validation intro video, so it shows the steps for creating ...

  3. excel导入数据校验_使用Excel数据验证限制日期范围

    excel导入数据校验 Yesterday, one of my clients emailed to let me know that she was having trouble entering ...

  4. excel导入数据失败_Excel数据验证失败

    excel导入数据失败 Data validation is one of the best features in Excel. You can use it to create drop down ...

  5. excel导入数据校验_Excel数据验证错误消息

    excel导入数据校验 Do you like to use error checking in Excel, so that problem cells are flagged, or do you ...

  6. 使用Echarts制作散点图(Excel导入数据方式)

    2019独角兽企业重金招聘Python工程师标准>>> Echarts相当于一款JS插件,可以制作出绚丽多彩的图表,其支持制作的图表类型和可以使用的样式都非常丰富.本文以Echart ...

  7. Excel导入数据(图片处理)

    在用excel导入数据的时候,如果一条数据,包含图片,甚至每条数据图片数量不固定. 图片放到excel里面直接拖进去就可以,再鼠标拉缩小到指定单元格内 package com.ydcloud.smar ...

  8. 灰色模型代码GM(1,1),从excel导入数据,亦可导出数据到excel中。

    灰色模型代码GM(1,1),从excel导入数据,亦可导出数据到excel中. 总结1:直接输出结果 %clc W= MicrosoftExcel;(从EXCEL导入数据后,matlab自动储存的数组 ...

  9. Excel导入数据轻松生成智能图表,助力数据分析

    运营助手,Excel导入数据轻松生成智能图表,助力数据分析 2023-04-18 10:21·淡定海风L 智能问答BI是一种先进的数据分析,它可以帮助用户快速地从海量数据中获取有用的信息,并将其可视化 ...

最新文章

  1. 与c交互_SV DPI-C接口学习心得
  2. c语言的简单题目,C语言的一些简单题目,没有答案,哪位大神帮忙做一下!!!...
  3. 强化学习之基础入门_强化学习基础
  4. 大数据-操作HDFS的基本命令
  5. 【JVM】CMS垃圾回收器(不推荐使用的垃圾回收器)
  6. 区块链爆史诗级漏洞,可完全控制虚拟货币交易!
  7. MS SQL SERVER2005更新触发器
  8. 模板 n维矩阵的二分幂
  9. matlab 不显示图中的x,y轴
  10. matlab小波变换函数总结,matlab小波变换函数的总结与程序
  11. 计算机软件考试——嵌入式系统设计师 知识点汇总
  12. 网络相关知识(重点讲解KB和Kbps,让你理清这两者关系)
  13. C++类内初始值的初始化形式
  14. FQQ兵法,适用于各种版本以及种族
  15. matlab命令批量重命名,MATLAB中预定义对话框之文件打开对话框以及如何批量重命名...
  16. 全球互联网排名_全球互联网的梦想已死
  17. 将数组中的对象按照浏览器的x/y轴的显示方式进行排序
  18. 浙大第一愤青教授的质疑--教育究竟为谁服务
  19. 2021年最新中科院人工智能领域顶级期刊及顶级会议
  20. android老人rom,联络OS老人ROM为父母重新定义手机

热门文章

  1. SQL Server日期数据类型DATE的使用
  2. 怎么理解面向对象编程【java基础第一讲】
  3. 站长付个人微信支付宝收款系统如何对接?
  4. java各种符号用法_java“与”符号写法与用法
  5. Javaweb和微信小程序项目部署阿里云服务器总结(上)
  6. python中的*args和**args详解
  7. 掉线(自创--根据刘德华《今天》歌词改编)
  8. 分布式配置中心设计——思维导图总结
  9. 自己的博客——liming blog 黎明的CSDN博客
  10. uni-app 161朋友圈查看权限