我目前正在使用 robotsium 在 android web 视图中记录大量操作。robotsium 中有一个已知错误,它不允许您更改选择框的值。为了在测试运行时解决这个问题,我正在创建另一个 javascript 注入来更改它。它适用于名称和 ID,但它还需要能够使用 xpath,以防名称或 ID 不可用。
目前,我可以使用选择框的名称和 ID 执行此操作:
selectBox = document.getElementById(identifyingValue);
或者
selectBox = document.getElementByName(identifyingValue);
在此之后,我可以创建一个方法来将选择框的值更改为我想要的值。问题是有时我无法获取选择框的 ID 或名称,并且没有类似的方法可以通过 Xpath 执行此操作,即:
selectBox = document.getElementByXpath(identifyingValue);
我的代码目前如下所示:
var selectBox;
var identifyingAttribute = ('$identifyingAttribute');
var identifyingValue = ('$identifyingValue');
var selectedIndex = '$selectedIndex';
if (identifyingAttribute === 'id') {
selectBox = document.getElementById(identifyingValue);
} else if (identifyingAttribute === 'name') {
selectBox = document.getElementByName(identifyingValue);
} else if (identifyingAttribute === 'xpath') {
selectBox = document.getElementByXpath(identifyingValue);
}
selectBox.selectedIndex = selectedIndex;
if (selectBox.onchange) {
selectBox.onchange();
}
到目前为止,您可以看到我正在尝试首先使用 id 和 name,并将 xpath 作为最后的手段。
我可以通过它的 Xpath 选择一个元素,然后更改它的值或执行类似的操作。任何帮助或输入将不胜感激。