Given a user has a valid account
Create valid user
${USERNAME}
${PASSWORD}
When she changes her password
Change password
${USERNAME}
${PASSWORD}
...
${NEW PASSWORD}
Status should be
SUCCESS
Then she can log in with the new password
Login
${USERNAME}
${NEW PASSWORD}
And she cannot use the old password anymore
Attempt to login with credentials
${USERNAME}
${PASSWORD}
Status should be
Access Denied
用戶定一個經??梢园瑥钠渌脩舳x關鍵詞,內置關鍵詞或者庫關鍵詞定義的動作。如在本例中所示,用戶定義關鍵詞可以攜帶參數。它們可以返回值設置包括FOR循環?,F在重要的是用戶定義關鍵詞使測試創建者能夠為常用的動作序列創建可重用的步驟。用戶定義關鍵詞還可以幫助測試作者在不同的環境下盡可能保持測試測試可讀性和使用恰當的抽象級別。
變量
定義變量
變量是Robot Framework 的組成部分。通常在測試中的可能變化的數據最好定義為變量。定義變量的語法非常簡單,如下表所示:
Variable |
Value |
${USERNAME} |
janedoe |
${PASSWORD} |
J4n3D0e |
${NEW PASSWORD} |
e0D3n4J |
|
|
${DATABASE FILE} |
${TEMPDIR}${/}robotframework-quickstart-db.txt |
|
|
${PWD INVALID LENGTH} |
Password must be 7-12 characters long |
${PWD INVALID CONTENT} |
Password must be a combination of lowercase and uppercase letters and numbers |
變量也可以從命令行給定,以便于測試需要在不同的環境中執行。例如本demo可以像下面一樣執行:
pybot --variable USERNAME:johndoe --variable PASSWORD:J0hnD0e quickstart.html
除了用戶定義變量之外,還有一些內置變量也很有用。這些變量包括在上表中使用的${TEMPDIR} 和${/} 。
使用變量
變量可以在測試數據的大部分地方使用。如下面的測試用例所示它們最常用作關鍵詞的參數。關鍵詞的返回值也可以復制給變量以便在后面使用。例如下面的Database Should Contain 用戶關鍵詞設置數據庫內容給${database} 變量,然后使用內置關鍵詞Should Contain 驗證內容。庫和用戶定義關鍵詞口可以返回值。
Test Case |
Action |
Argument |
Argument |
Argument |
User status is stored in database |
[Tags] |
variables |
database |
|
|
Create Valid User |
${USERNAME} |
${PASSWORD} |
|
|
Database Should Contain |
${USERNAME} |
${PASSWORD} |
Inactive |
|
Login |
${USERNAME} |
${PASSWORD} |
|
|
Database Should Contain |
${USERNAME} |
${PASSWORD} |
Active |
原文轉自:http://www.anti-gravitydesign.com