2016-02-05 78 views

回答

2

使用的關鍵字是什麼讓機器人框架的權力。它是爲驗收測試驅動開發而設計的。驗收測試通常用用戶的語言編寫,並且通常由產品所有者或qa專業人員在開發的早期階段編寫。

如果你不寫自己的自定義關鍵字,一個登錄頁面的驗收測試,導致儀表板可能將不得不是這個樣子:

| | open browser | http://www.example.com | chrome 
| | go to | http://www.example.com/login 
| | input string | xpath=//form/input[@name='username'] | ${username} 
| | input string | xpath=//form/input[@name='password'] | ${password} 
| | submit form 
| | wait until page contains element | xpath=//div[@id='dashboard_frame'] 
| | page should contain | welcome to Example.com! 

上述試驗是緊耦合如果頁面的實現發生變化,那麼實現並將不得不改變。這種類型的測試對於客戶或產品所有者來說很難閱讀 - 他們不會在意元素的命名,甚至不需要登錄。他們唯一關心的是是否有足夠的測試來覆蓋行爲的新功能。

通過使用自定義關鍵字,無論是寫爲機器人的關鍵字或者是作爲頁面對象實現,測試看起來是這樣的:

| | Go to the login page 
| | Log in with valid credentials 
| | Verify we are on the dashboard page 

這個例子更好地表達測試的意圖,不管它是如何實現。這測試了特徵而不是實施。這是產品所有者或客戶可以輕鬆閱讀以確認正在執行正確測試的測試類型。

與使用頁面對象相結合,這成爲一個非常強大的機制。您的產品所有者和測試專業人​​員可以專注於要測試的功能,而不必關心實施。

實現細節可以進入頁面對象定義,這些頁面對象定義可以與頁面本身的實現位於相同的代碼存儲庫中。當開發人員更改頁面時,他們可以更改關鍵字的實現以匹配,而無需更改任何實際的測試用例。

1

這是莫名其妙的時間保留和更高效的在以下兩種情況下可以創建用戶定義的關鍵字,我會說:

  1. 呼叫關鍵字不止一次(如在一個循環或東西)也許 也與每次輸入不同的變量。
  2. 組織您的測試,使其易於閱讀。
0

你用你自己的關鍵字爲完成這是不可能與正常組關鍵字的任務。你可以用Python編程它們。您也可以結合自定義關鍵字中的現有關鍵字來完成更爲困難的任務。

你不需要自定義庫。只需將您的關鍵字放在*** Keywords ***行後面即可。

相關問題