如何在Android中识别绘制的元素ID



我正在进行一个研究项目,其中包括Android自动化。需要在用户点击屏幕上记录的步骤自动化。

我完全花了2天的时间来找到一种正确的方法来识别屏幕上的点击元素,但PC侧(设备本身也可以(。

我们需要为自动化框架提供ID,文本等。这就像自动化框架的反向版本一样。需要记录诸如硒插件的步骤。

有人可以建议我一种实现我需求的方法。无需示例代码。寻找有关如何实现此要求的想法。

谢谢

这是可以帮助您的方法。

1(获取文档中的所有元素

2(为每个步骤添加一个自定义事件侦听器

3(在事件侦听器中跟踪点击

这是示例代码我如何在我的铬插件之一中进行的。

this.AddEventListeners = function()
{
    var document = window.document;
    var elements = this.GetAllElements(document.body);
    for (var i = 0; i < elements.length; i++)   {
        // not sure if it's onTouchEvent event or something else (update the event accordingly in the below line)
        elements[i].addEventListener("onTouchEvent", customTapEvent, false);
    }   
    this.haveEventListeners = true;
}

getAlleartess方法:

this.GetAllElements = function(element)
{
    var elements = new Array();
    if (element && element.hasChildNodes()) {
        elements.push(element);
        var childs = element.childNodes;
        for (var i = 0; i < childs.length; i++) {
            if (childs[i].hasChildNodes()) {
                elements = elements.concat(this.GetAllElements(childs[i]));
            }
            else if (childs[i].nodeType == 1) {
                elements.push(childs[i]);
            }
        }
    }
    return elements;
}

customTapEvent方法中写逻辑。

要记录您的事件,您需要使用 appium (Android ios(。对于步骤,您可以尝试 Cucumber 库。您在YouTube上找到所有需要的东西。

最新更新