selenium框架运行脚本的驱动模式有几种?
数据驱动、关键字驱动等
从数据驱动来说,到底什么是数据驱动,selenium官方参考文档上是这样说的:
数据驱动是指使用相同的tests来运行不同的data。这些数据经常来自于外部的文件,csv格式,text文本或者是直接从数据库中加载。
数据驱动测试经常被用来验证一个有着许多不同的输入的程序。当test为变化的数据设计时,那么输入数据可以扩展,本质上讲创建额外的tests不需要在test代码上进行改变。
source = open("input_file.txt", "r")
values = source.readlines()
source.close()
# Execute For loop for each String in the values array
for search in values:
driver.get('http://www.google.com')
driver.find_element_by_name("q").send_keys(search)
driver.find_element_by_id("btnG").click()
element = WebDriverWait(driver, 5).until(ExpectedConditions.presence_of_element_located((By.XPATH, "//*[contains(., 'Results')]"))
assert search in element.text
以一段Python代码展现简单的数据驱动模式,这段代码所要展现的是首先从数据源input_file文件中读取数据,然后将读取到的数据作为参数传入到Test方法中,是很直白的一种数据驱动的表现形式。