我正在进行一个研究项目,其中包括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上找到所有需要的东西。