В моем приложении Eclipse RCP я использую браузер SWT для отображения веб-приложения.Мне удалось автоматизировать тестирование приложения с помощью функции «invokevalu» для взаимодействия с элементами DOM (т. Е. Вставлять текст, выбирать кнопки и т. Д.).Тем не менее, я не смог определить, как проверить работоспособность приложения.Я пытаюсь вернуть объект DOM в ECL, чтобы я мог проверить объект и убедиться, что приложение работает.
Вот мой сценарий, в котором я пытаюсь присвоить значение переменной:
with [get-view "Encoder View" | get-control Browser] {
get-object | invoke evaluate "document.getElementById('PDX').value;" | let [val obj -input] {
format "%s" $obj | show-alert
}
}
Когда я выполняю скрипт, я получаю сообщение об ошибке «Не знаю, как поместить значение типа 'org.eclipse.core.runtime.Status'".Я не уверен, почему метод «оценки» возвращает тип «Состояние».Согласно документации , он должен возвращать «Объект».
Возможно ли это?Чего мне не хватает?
ОБНОВЛЕНИЕ
У меня было 2 проблемы с моим сценарием выше: 1) Мне не хватало ключевого слова return в javascript.2) Я извлекал неверный элемент из DOM.После того, как я изменил свой сценарий, добавив возврат и выбрав правильный элемент (переключатель), значения возвращаются и сохраняются в переменной ECL правильно.
Вот обновленный пример:
with [get-view "Encoder View" | get-control Browser] {
get-object | invoke evaluate "return document.getElementById('PDXRADIO').checked;" | let [val obj -input] {
format "%s" $obj | show-alert
}
}