测试数据:
基类:
from time import sleep
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
def open_broswer(browser_name):
try:
driver = getattr(webdriver, browser_name)()
print('启动谷歌浏览器')
driver.maximize_window()
except Exception as e:
print(e)
print('[error]浏览器填写存在错误,默认启动谷歌浏览器')
driver = webdriver.Chrome()
driver.maximize_window()
return driver
class Web:
def __init__(self,browser_name):
#想用那个浏览器就用那个浏览器,根据写的来
self.driver = open_broswer(browser_name)
#self.driver = webdriver.Chrome()
#打开网页
def open(self,**kwargs):
self.driver.get(kwargs['txt'])
#退出浏览器
def quit(self, **kwargs):
self.driver.quit()
#定位元素
def locate_element(self,**kwargs):
return self.driver.find_element(kwargs['name'],kwargs['value'])
#输入
def input(self,**kwargs):
self.locate_element(**kwargs).send_keys(kwargs['txt'])
#点击
def click(self,**kwargs):
self.locate_element(**kwargs).click()
#强制等待
def wait(self,**kwargs):
#不要写成 self。sleep
sleep(kwargs['txt'])
if __name__ == '__main__':
pass
测试用例:
from time import sleep
import openpyxl
from Utils.web import Web
workbook = openpyxl.load_workbook("../data/test.xlsx")
#sheet = workbook['Sheet1']
#sheetnames
for sheet in workbook.sheetnames:
print(f'sheet的名字{sheet}')
tmp = workbook[sheet]
#这里必须写sheet.values 不能不带 values
for value in tmp.values:
print(value)
dic = {}
event = value[1]
dic['name'] = value[2]
dic['value'] = value[3]
dic['txt'] = value[4]
#不写if type(value[0]) is int: 会报错,自己可以试试看
if type(value[0]) is int:
if event == 'browser':
driver = Web(dic['txt'])
else:
getattr(driver,event)(**dic)
else:
print("该用例的第一列序号列内容不是数字!")
结果: