python webdriver混合驱动测试框架(数据驱动+关键字驱动)

混合驱动:把数据驱动、关键字驱动结合起来一起使用

testdata.txt

http://www.126.com
http://www.sohu.com

teststep.txt

open||chrome
visit||${url}
sleep||3

主程序脚本

hybrid.py

#encoding=utf-8
import re
from selenium import webdriver
import time

with open("teststep.txt") as fp:
teststeps = fp.readlines()

with open("testdata.txt") as fp:
testdata = fp.readlines()

driver = ""

def open(browser_name):
global driver
if "ie" in browser_name:
driver = webdriver.Ie(executable_path = "e:\\IEDriverServer")
elif "chrome" in browser_name:
driver = webdriver.Chrome(executable_path = "e:\\chromedriver")
else:
driver = webdriver.Firefox(executable_path = "e:\\geckodriver")

def visit(url):
global driver
driver.get(url)

def click(xpath):
try:
driver.find_element_by_xpath(xpath).click()
except:
print("click fail!")
raise

def sleep(times):
time.sleep(int(times))

for data in testdata:
print(data)
for teststep in teststeps:
action = teststep.split("||")[0].strip()
value= teststep.split("||")[1].strip()
if re.search(r"\$\{\w+\}",value):
value=re.sub(r"\$\{\w+\}",data.strip(),value)
try:
command = "%s(\"%s\")" %(action,value)
exec(command)
except:
print("执行",command,"有异常")

driver.quit()
print ("DONE!")


猜你喜欢

转载自www.cnblogs.com/ff-gaofeng/p/12670414.html