天天看點

myAppointment OPA test case issueSent: Monday, 2 November, 2015 4:04 PM

Sent: Monday, 2 November, 2015 4:04 PM

Test case description:

在create appointment view中,定義了一個這樣的元素:

myAppointment OPA test case issueSent: Monday, 2 November, 2015 4:04 PM

圖1

在OPA裡通過waitFor()方法找到了#responsibleText控件,并觸發了它的LiveChange事件,去調用NewAppointment.controllers.js中的onEmployeeInputFieldChanged方法。但是很奇怪的是,Jekins的report顯示,onEmployeeInputFieldChanged方法中,帶紅底色部分的代碼并沒有運作(見圖2),進而沒有為#responsibleText 這個input生成suggestionItems。OPA運作結果如圖3.

myAppointment OPA test case issueSent: Monday, 2 November, 2015 4:04 PM
myAppointment OPA test case issueSent: Monday, 2 November, 2015 4:04 PM

圖3

然後我就在chrome的裡debug,發現其實浏覽器是有跑圖2的紅底色代碼的,但OPA frame裡确實是沒有可視的suggestionItems的。我嘗試用寫waitFor()方法去找suggestionItem所定義的類型(sap.ui.core.Item)的控件,也還是找不到,進而input的suggestionItemSelected事件也就無法繼續寫opa test case去測。

PS:

http://localhost:8080/cus.crm.mycalendar/test-resources/testsuite.opa.html?sap-language=EN&responderOn=true&testNumber=14,是本地通路這個testcase的URL.

solution

執行所有的test case是在浏覽器位址欄裡輸入URL :http://localhost:8080/cus.crm.mycalendar/test-resources/testsuite.opa.html?sap-language=EN&responderOn=true;

如果不執行所有的test case,隻執行指定的某一個,就是在上面你的URL後再加一個參數testNumber=xxx,它在OPA頁面裡是主視窗的每一行最前面test case的序号,也就是你的截圖裡的“1.”,比如

http://localhost:8080/cus.crm.mycalendar/test-resources/testsuite.opa.html?sap-language=EN&responderOn=true&testNumber=14 , 就是跑第14個test case(就是我現在有問題的這個case)

2. 括号裡的三個參數的意義是:(arg1, arg2, arg3)

arg1——目前test case下,跑失敗的子用例;

arg2——目前test case下,跑成功的子用例;

arg3——目前test case所包含的所有子用例的總數目。

就是說,每一個test case下面可以寫子用例的意思是,其實就是一個分步驟的概念:比如我要測試點選一個button後會不會彈出一個dialog,這一整套動作是作為一個test case寫的,但是需要分步驟來檢測每一個控件的行為——首先找到button,寫一條子用例語句來列印“find button AAA”,然後浏覽器render出一個dialog,我們再寫一個子用例來找dialog,寫一條子用例語句來列印“find dialog BBB”。

myAppointment OPA test case issueSent: Monday, 2 November, 2015 4:04 PM
myAppointment OPA test case issueSent: Monday, 2 November, 2015 4:04 PM

繼續閱讀