selenium系列--测试脚本--将Excel文件用于测试(unittest数据驱动实战)
生活随笔
收集整理的這篇文章主要介紹了
selenium系列--测试脚本--将Excel文件用于测试(unittest数据驱动实战)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
???????? 這里是清安,上一章我們講了Yaml數據驅動,本章我們來說說Excel的數據驅動。
??????? 我們只需要寫一個函數方法進行調用即可,讀取Excel文件,將值進行返回便于下一個接口使用。
import xlrdclass Excel_Login:def excel_login(self):file_name = xlrd.open_workbook(r'F:\111.xlsx')# 讀取表單sh1 = file_name.sheet_by_index(0)# 讀取行數rows = sh1.nrowsdatalist = []for i in range(1, rows):# 遍歷每行的值,添加到空列表datalist.append(sh1.row_values(i))return datalist??????? 學了Yaml的數據驅動,我們直接將代碼copy過來即可。
"""元素定位登錄界面代碼""" class T_test():def __init__(self,fox):self.fox = foxdef login(self,f_get,username,password):self.fox.get(f_get)if_rame = self.fox.find_elements_by_tag_name('iframe')[0]self.fox.switch_to.frame(if_rame)self.fox.find_element_by_id('switcher_plogin').click()self.fox.find_element_by_id('u').send_keys(username)self.fox.find_element_by_id('p').send_keys(password)self.fox.find_element_by_id('login_button').click()??????? 這里也就寫到了,接下來是unittest模塊,與Yaml的會稍微有一點點的不同:
@ddt class LoginTest(unittest.TestCase,T_test):i = Excel_Login().excel_login()def setUp(self) -> None:self.fox = webdriver.Firefox()self.fox.implicitly_wait(5)def tearDown(self) -> None:self.fox.quit()@data(*i)@unpackdef test01(self,username,password):self.login('https://qzone.qq.com/',username,password)self.ele = self.fox.titleself.assertEqual(self.ele, 'QQ空間-分享生活,留住感動',msg='不符合')??????? 包記住該有的還得有,別少了,這里在模塊內的添加了實例化對象,然后再去進行數據驅動,用兩個參數進行接收解析出來的值用于賬號登錄。
??????? 與Yaml數據驅動還有有著一些異曲同工之妙的。
總結
以上是生活随笔為你收集整理的selenium系列--测试脚本--将Excel文件用于测试(unittest数据驱动实战)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交换机开发(二)—— 三层交换机报文转发
- 下一篇: MSP432P401R TI Drive