После перезагрузки страницы RFT не может найти TestObjects

Я пытаюсь получить все элементы со свойствами распознавания Html.LI и нажимаю на каждый тестовый объект.

            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: для объекта не найдена точка экрана.]

У вас есть идеи, как обойти это?


person Sviatlana    schedule 16.04.2013    source источник


Ответы (2)


После нажатия на объекты[0] при перезагрузке страницы ссылки на тестовые объекты, которые были возвращены предыдущим вызовом find(), больше не будут действительны.
Прежде чем щелкнуть на объектах[1], попробуйте запустить еще один метод find() и посмотрите, сможете ли вы выполнить щелчок таким образом.

person Prakash    schedule 17.04.2013
comment
В статье developerWorks рекомендуется всегда вызывать find() перед использованием объект и никогда не зависеть от сохраненных объектов. - person Roland; 23.10.2014

object.length содержит все найденные объекты. объекты.длина = 3

Помните, что массив имеет основание [0], [0, 1, 2]

поэтому, если вы измените свой цикл как: for (int i = 0; i ‹ objects.length - 1; i++)

Ваш код может работать.

С уважением

Альфонсо Флорес

person Alfonso Flores    schedule 22.10.2014
comment
Поскольку чек равен i < object.length, вам не нужно вычитать 1 — i никогда не достигнет значения object.length. Ваше предложение могло бы быть правильным, если бы чек был i <= object.length. Но поскольку проблема не в ArrayIndexOutOfBoundsException, маловероятно, что проблема связана с индексами массива. - person Roland; 23.10.2014