Получить свойство JavaArray из объекта - PullRequest
0 голосов
/ 20 июня 2019

У меня есть набор сценариев Python для тестирования Java-приложения с использованием squish.

В моем тесте я получил объект с именем menuObj, содержащий свойство с именем items, типом которого является JavaArray.Когда я пытаюсь получить это свойство с помощью getattr (), вместо такого списка (или строки, содержащей элементы в списке) я получаю объект, содержащий свойства.

Какой метод является правильным?

ожидается = [MenuItem {Project Ctrl + Shift + D}, MenuItem {System Ctrl + Shift + M}, MenuItem {Panel}] получено = содержит три свойства.

1 Ответ

0 голосов
/ 21 июня 2019

Squish выдает JavaArray при доступе к свойству или вызове метода, который / возвращает массив Java.

Для доступа к элементам в этом массиве используйте JavaArray.at (int)Метод:

items_array = swtMenuObj.items
test.log("Type of items container/array: %s" % className(items_array))
test.log("A: Item 0 text: %s" % items_array.at(0).text)
// Example output/log entries:
//  JavaArray
//  &File


items_array2 = getattr(swtMenuObj, "items")
test.log("Type of items container/array: %s" % className(items_array))
test.log("B: Item 0 text: %s" % items_array2.at(0).text)
// Example output/log entries:
//  JavaArray
//  &File

Не должно быть никакой разницы между использованием ...

menuObj.items

... и ...

getattr(menuObj, "items")

... и оба дают объект типа JavaArray.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...