2013-04-16 46 views
0

我嘗試獲取具有識別屬性Html.LI的所有元素,然後單擊每個測試對象。重載頁面RFT無法找到TestObjects

  RootTestObject rto = getRootTestObject(); 
    TestObject[] objects = rto.find(atDescendant(".class", "Html.LI")); 
    for (int i = 0; i < objects.length; i++) { 
     GuiTestObject gui1 = new GuiTestObject(); 
     gui1 = (GuiTestObject) objects[i]; 
     gui1.hasFocus(); 
      gui1.click(); 

     } 
} 

當我得到對象[0]並單擊它時,頁面將重新加載。當我嘗試點擊對象[1]時,錯誤消息 CRFCP0050E:找不到對象的屏幕點。]

您有任何想法如何解決?

回答

3

在頁面重新加載之前單擊對象[0]時,之前調用find()返回的testobject引用將不再有效。
在點擊對象[1]之前,嘗試運行另一個find(),看看你是否能夠以這種方式執行點擊。

+0

在[developerWorks文章(http://www.ibm.com/developerworks/rational/library/06/0711_nowacki_nodwell/)建議總是打電話找' ()'在使用對象之前,永遠不依賴於存儲的對象。 – Roland

-1

objects.length包含它找到的所有對象。 objects.length = 3

記住陣列是鹼[0], [0,1,2]

所以,如果修改您的循環爲: 對(INT I = 0;我< objects.length - 1; i ++)

您的代碼可能工作。

問候

阿方索·弗洛雷斯

+0

由於檢查是'我 Roland