python selenium 数据驱动测试
1、概念
数据驱动:测试数据的改变引起执行结果的改变叫数据驱动;
关键字驱动:测试对象名字的改变起引起测试结果的改变叫关键字驱动。
举例:
d:\data.txt文件:
Selenium
python
linux
我们可以通过脚本循环执行,读取一文件中不同的内容来完成自动化工作,也就是说我们每次取的文件里的搜索关键字不同,而每次百度搜索的的结果不同,这也是数据驱动的本质。 代码如下:
#coding:utf-8
from selenium import webdriver
import os, time
source = open("d:\\Python27\\data.txt", "r") # 只读方法打开文件
values = source.readlines() #逐行读取文件内容
source.close()
for search in values:
browser = webdriver.Firefox()
browser.get("http://www.baidu.com")
browser.find_element_by_id("kw").send_keys(search)
browser.find_element_by_id("su").click()
browser.quit
用户名密码参数化
使用字典实现用户名密码参数化
#coding:utf-8
import os, time
from selenium import webdriver
def UsrPwd():
d = {'abc':'123456', 'def':'789456'} #使用字典
print "read username and password!"
return d
for usr,pwd in UsrPwd().items(): # 循环读取字典里的用户名及密码
driver = webdriver.Firefox()
driver.get("http://-------")
driver.find_element_by_id("user_name").clear()
driver.find_element_by_id("user_name").send_keys(usr)
time.sleep(3)
driver.find_element_by_id("user_pwd").clear()
driver.find_element_by_id("user_pwd").send_keys(v)
time.sleep(3)
driver.find_element_by_id("dl_an_submit").click()
time.sleep(1)
driver.close()
用户名密码的参数化
def user(k='fnngj',v=123456): #定义带用户名密码参数的函数user
print "suess read username and password!!"
return k,v
k,v = user() #调用user函数获得用户名和密码
print k,v