2016-11-02 50 views
1

我有一个弹出容器,其中我有一个DefaultComboBoxModel。该模型包含一个具有机器名称列表的JComboBox。ranorex表单元素作为null当间谍摆动窗口

当我刚间谍JComboBox时,它显示了使用XPath作为/form[@title='MachinePage']/container[@type='JPanel']//combobox[@name='MachinePopup']

但是,当我从ComboBox窥探一个机器,我得到的XPath为/form//container/list[@name='ComboBox.list']/listitem[@text='Ferrari']

我没有在这里得到的表单名称。有谁可以说为什么?

+0

如果修改第二个XPath在表单和//之间插入[@ title ='MachinePage'],您还能找到listitem'Ferrari'吗?有时Ranorex Spy需要一点帮助来创建最佳的XPath ... – Sup3rHugh

回答

0

这是Ranorex的(恕我直言,烦人)功能之一。您永远不会真正知道Ranorex生成的XPath的一部分。

这是由Ranorex为简化XPath而应用的StepCostReduce模型引起的。幸运的是,你可以在选项进行更改:

Ranorex XPath generation mode

我没有一个完整的概述但在影响是什么。当设置为Simple时,它将记录许多属性。这可能会导致性能下降,因为查询应用程序中的所有值需要一些时间。恕我直言,这样的性能下降仍然比不工作或容易中断的测试更可取。

如果你了解Ranorex内部(我还没有),你也可能会更改StepCostReduce模型的选择和优化,根据你的需要:在SAP按钮

Ranorex XPath build options

例子:

Ranorex before/after comparison