在我的 Eclipse RCP 应用程序中,我使用 SWT 浏览器来显示一个 Web 应用程序。我已经能够使用“调用评估”功能与 DOM 元素交互(即插入文本、选择按钮等)来自动化应用程序的测试。但是,我无法确定如何验证应用程序是否有效。我试图在 ECL 中返回一个 DOM 对象,以便检查该对象并验证应用程序是否正常工作。
这是我试图将值分配给变量的脚本:
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)我在 javascript 中缺少“return”关键字。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
}
}