python selenium 數(shù)據(jù)驅(qū)動(dòng)測(cè)試
1芍殖、概念
數(shù)據(jù)驅(qū)動(dòng):測(cè)試數(shù)據(jù)的改變引起執(zhí)行結(jié)果的改變叫數(shù)據(jù)驅(qū)動(dòng)田弥;
關(guān)鍵字驅(qū)動(dòng):測(cè)試對(duì)象名字的改變起引起測(cè)試結(jié)果的改變叫關(guān)鍵字驅(qū)動(dòng)。
舉例:
d:\data.txt文件:
Selenium
python
linux
我們可以通過(guò)腳本循環(huán)執(zhí)行俭嘁,讀取一文件中不同的內(nèi)容來(lái)完成自動(dòng)化工作瘩燥,也就是說(shuō)我們每次取的文件里的搜索關(guān)鍵字不同轧粟,而每次百度搜索的的結(jié)果不同,這也是數(shù)據(jù)驅(qū)動(dòng)的本質(zhì)首装。 代碼如下:
#coding:utf-8
from selenium import webdriver
import os, time
source = open("d:\\Python27\\data.txt", "r") # 只讀方法打開文件
values = source.readlines() #逐行讀取文件內(nèi)容
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
用戶名密碼參數(shù)化
使用字典實(shí)現(xiàn)用戶名密碼參數(shù)化
#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(): # 循環(huán)讀取字典里的用戶名及密碼
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()
用戶名密碼的參數(shù)化
def user(k='fnngj',v=123456): #定義帶用戶名密碼參數(shù)的函數(shù)user
print "suess read username and password!!"
return k,v
k,v = user() #調(diào)用user函數(shù)獲得用戶名和密碼
print k,v