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_row
defgetdatas
(self)
: datalist=
for line in self.sheet.rows[1:
]:tmplist=
1].value)2]
.value)
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)
: @classmethod
defsetupclass
(cls)
: testdemo.trstr=
""def
setup
(self)
: self.driver=webdriver.firefox(executable_path=
"c:\\webdriver\geckodriver"
) status=
none
flag=
0 @ddt.data(
*excel.getdatas())
deftest_datadriverbyfile
(self,value)
: testdata,expectdata=
tuple
(value)
flagdict=
url=
""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=
1 wastetime=time.time(
)-start-
3 testdemo.trstr += u'''
%s%s%s
%.2f
%s'''
%(testdata,expectdata,starttime,wastetime,flagdict[flag]
,status)
defteardown
(self)
: self.driver.quit(
) @classmethod
defteardownclass
(cls)
: htmltemplate(testdemo.trstr)
if __name__==
'__main__'
: unittest.main(
)
Watir資料驅動 Excel
在watir 中做資料驅動,採用excel 作為資料來源是個不錯的選擇,使用excel 需要win32ole 包,讀取excel 非常方便 require win32ole workbook excel.workbooks.open d ruby watir watir watir project ...
excel學習 從基礎開始3
1 查詢替換 若是將 蘇州 替換成 蘇州市 注 假如直接替換,文件中存在的蘇州市會變成蘇州市市 需要在替換的時候,開啟 選項 選中 單元格匹配 按照單元格匹配,平時的時候用的不多,平時不選中 替換顏色 ctrl f開啟 查詢替換 選項 格式 查詢格式 模糊替換 將所有帶有 工資 字樣的都換成 錢 查...
Linux 字元驅動裝置的測試案例
linux驅動學習路線 1 編寫hello模組,學會基本的流程,能看到輸出 2 寫一完整驅動,加上read,write,ioctl,polling等各種函式的驅動實現,在ioctl裡完成從使用者空間向核心空間傳遞結構體的實現。3 寫一block驅動,加上read,write,ioctl,poll等各...