webdriverio mysql_Selenium3+MySQL数据库进行数据驱动测试

#执行数据驱动测试脚本

from selenium importwebdriverimportunittest, timeimportlogging, tracebackimportddtfrom MysqlUtil importMyMySQLfrom selenium.common.exceptions importNoSuchElementExceptionfrom BSTestRunner importBSTestRunner#初始化日志对象

logging.basicConfig(#日志级别

level=logging.INFO,#日志格式

#时间、代码所在的文件名、代码行号、日志级别名字、日志信息

format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',#打印日志的时间

datefmt='%a, %Y-%m-%d %H:%M:%S',#日志文件存放的目录(目录必须存在)及日志文件名

filename='./dataDrivenReport.log',#打开日志文件的方式

filemode='w')defgetTestDatas():#对象实例化

db =MyMySQL(

host="localhost",

port=3306,

dbName="gloryroad",

username="root",

password="root",

charset="utf8")#从数据库测试表中获取测试数据

testData =db.getDataFromDataBases()#关闭数据库连接

db.closeDatabase()#返回数据

returntestData

@ddt.ddtclassTestDemo(unittest.TestCase):defsetUp(self):

self.driver=webdriver.Chrome()

@ddt.data(*getTestDatas())deftest_dataDrivenByDatabase(self, data):#对获得的数据进行解包

testData, expectData =data

url= "http://www.baidu.com"

#访问百度首页

self.driver.get(url)#将浏览器窗口最大化

self.driver.maximize_window()print(testData, expectData)#设置隐式等待时间为10秒

self.driver.implicitly_wait(10)try:#找到搜索输入框,并输入测试数据

self.driver.find_element_by_id("kw").send_keys(testData)#找到搜索按钮,并单击

self.driver.find_element_by_id("su").click()

time.sleep(3)#断言期望结果是否出现在页面源代码中

self.assertTrue(expectData inself.driver.page_source)exceptNoSuchElementException:

logging.error("查找的页面元素不存在,异常堆栈信息:" +str(traceback.format_exc()))exceptAssertionError:

logging.info("搜索%s,期望%s,失败" %(testData, expectData))exceptException:

logging.error("未知错误,错误信息:" +str(traceback.format_exc()))else:

logging.info("搜索%s,期望%s,通过" %(testData, expectData))deftearDown(self):

self.driver.quit()if __name__ == '__main__':#unittest.main()

testCase =unittest.TestLoader().loadTestsFromTestCase(TestDemo)#将多个测试类加载到测试套件中

suite =unittest.TestSuite(testCase)

filename= "./test.html"fp= open(filename, 'wb')

runner= BSTestRunner(stream=fp,

title='数据库驱动测试',

description='测试用例执行情况:')

runner.run(suite)

fp.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值