如何在Robot Framework中保存EXT JS元素的属性值

时间:2019-07-10 13:07:27

标签: xpath extjs robotframework

我正在使用Robot Framework,并且想将extJS元素的Value / TagValue保存到变量中。您可以在下面找到该元素的HTML。

我已经尝试使用以下内置方法保存值:

  

$ {var} |取得文字| // input [@ data-qtip ='Kezdőidőszak']

Return: empty string
  

$ {var} |获取元素属性| // input [@ data-qtip ='Kezdőidőszak'] |值

Return: None
  

$ {var} |获取元素属性| // input [@ data-qtip ='Kezdőidőszak'] | TagValue

Return: None

我知道'Value'和'TagValue'属性保留了所需的值(已通过Ranorex Spy进行了检查),但是无法使用RFW内置方法访问它。问题很可能是extJS框架没有在HTML中生成这些属性。

还有另一种方法来保存值吗?

ExtJS WebElement:

<input id="smartcombo-4012-inputEl" data-ref="inputEl" type="text" data-qtip="Kezdő időszak" size="1" name="startPeriodId" role="combobox" aria-hidden="false" aria-disabled="false" aria-readonly="true" aria-invalid="false" aria-required="false" aria-haspopup="true" aria-expanded="false" aria-autocomplete="list" class="x-form-field x-form-text x-form-text-default " autocomplete="off" data-componentid="smartcombo-4012" readonly="readonly" style="background-color: rgb(255, 255, 255);">

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您可以通过执行JavaScript来实现。通过Ext.getCmp和componentid来获取ext组件,并对组件执行getValue方法。

类似的东西:

${combovalue}=      Execute Javascript       return Ext.getCmp("smartcombo-4012").getValue();