資料驅動的形式有很多種:
1.定義變數的方式
2.定義陣列、字典的方式
3.讀取檔案(txt\csv\xml)的方式
1、通過定義變數方式進行引數化
public.py
class login():
def user_login(self,driver,username,password):
driver.find_element_by_xpath("//input[@name='email']").clear()
driver.find_element_by_xpath("//input[@name='email']").send_keys(username)
driver.find_element_by_name("password").clear()
driver.find_element_by_name("password").send_keys(password)
driver.find_element_by_id("dologin").click()
def user_logout(self,driver):
driver.find_element_by_link_text("退出").click()
driver.quit()
mailtest.py
from selenium import webdriver
from public import login
class logintest():
def __init__(self):
self.driver=webdriver.firefox()
self.driver.implicitly_wait(10)
self.driver.get("")
def test_admin_login(self):
username='admin'
password='123'
login().user_login(self.driver,username,password)
self.driver.quit()
def test_guest_login(self):
username='guest'
password='321'
login().user_login(self.driver,username,password)
self.driver.quit()
logintest().test_admin_login()
logintest().test_guest_login()
2、通過定義陣列的方式進行引數化
from selenium import webdriver
search_text=['python','中文','text']
for text in search_text:
driver=webdriver.firefox()
driver.implicitly_wait(10)
driver.get("")
driver.find_element_by_id('kw').send_keys(text)
driver.find_element_by_id('su').click()
driver.quit()
3、通過讀取txt檔案的方式進行引數化
python提供了以下讀取txt檔案的方法:
read():讀取整個檔案
readline():讀取一行資料
readlines():讀取所有行的資料
user_info.txt
zhangsan,123
lisi,456
wangwu,789
user_info.py
user_file=open('user_info.txt','r')
lines=user_file.readlines()
user_file.close()
for line in lines:
username=line.split(',')[0]
password=line.split(',')[1]
print(username,password)
4、通過讀取csv檔案的方式進行引數化
csv_read.py
import csv
date=csv.reader(open('info.csv','r'))
#迴圈輸出每一行資訊
for user in date:
print(user)
#迴圈輸出第二列資料
for user in date:
print(user[1])
5、通過讀取xml檔案的方式進行引數化
info.xml
<?xml version="1.0" encoding="utf-8"?>
windows
firefox
北京
廣東深圳
珠海浙江
杭州
from xml.dom import minidom
#開啟xml文件
dom=minidom.parse('info.xml')
#得到文件元素物件
root=dom.documentelement
print(root.nodename)
print(root.nodevalue)
print(root.nodetype)
print(root.element_node)
#獲得任意標籤名
tagname=root.getelementsbytagname('browser')
print(tagname[0].tagname)
#獲得標籤的屬性值
tagname=root.getelementsbytagname('login')
username=tagname[0].getattribute("username")
print(username)
password=tagname[0].getattribute("password")
print(password)
username=tagname[1].getattribute("username")
print(username)
password=tagname[1].getattribute("password")
print(password)
#獲得標籤對之間的資料
provinces=root.getelementsbytagname('province')
citys=root.getelementsbytagname('city')
p2=provinces[1].firstchild.data
c1=citys[0].firstchild.data
c2=citys[1].firstchild.data
print(p2)
print(c1)
print(c2)
資料驅動測試技術
資料驅動測試的概念 資料驅動測試是從資料檔案 excel 文字檔案 xml 檔案 或者資料庫 中讀取測試資料,然後通過變數傳入指令碼中,既可以當測試資料的輸入 也可以當輸出資料的驗證。測試資料在檔案中,測試指令碼負責邏輯業務過程 測試狀態以及資料檔案讀取 資料驅動的測試適用於對相同流程進行大資料量測...
QTP 資料驅動測試
1.資料驅動測試方法 資料驅動測試方法要解決的核心問題是把資料從測試指令碼中分離出來,從而實現測試指令碼的引數化。資料驅動測試通常按以下步驟進行 1 引數化測試步驟的資料,繫結到資料 中的字段。2 編輯資料 在 中編輯多行測試資料。3 設定迭代次數,選擇資料行。在qtp中,可以使用多種方式來對測試指...
資料驅動測試概念?
什麼是測試資料生成?我們如何產生它?在我們測試過程中往往需要測試我們場景更加的充分,而建立資料測試。測試資料報括輸入輸出,對輸出的自動化驗證等。建立測試資料的方法 1.手動 2.從生產到測試環境的大量資料拷貝 3.自動測試資料生成工具 為什麼需要資料驅動測試?1.測試應該建立自己的場景資料 2.自由...