Robot Framework + Appium Library:Tap 不适用于 webview 或本机上下文

Robot Framework + Appium Library: Tap is not working on webview or native contexts

我遇到了一个问题,并在不同的场景下进行了测试,但没有成功。我想听听解决我的问题的新想法和方法。

上下文:我正在使用 Robot Framework 和 Appium Library 测试移动混合应用程序。在某些时候,我需要点击一个元素来打开它。这实际上是第一个问题,因为点击不起作用。

问题 1:当我使用 Webview 上下文时,我看到一个错误:

WebdriverException: Message: Method has not yet been implemented

问题 2:当我使用 Native 上下文时,点击可以正常工作,但是,我正在测试的页面有一个滚动,在我执行滚动后,所有元素都错位了,我无法点击右侧元素.

我尝试了不同的方法,甚至执行 Javascript 来模拟事件,但我也没有找到解决方案。

var e;
var el=document.getElementsByClassName("class_name")[1];
e=document.createEvent("Event");
e.initEvent('tap',true,false);
el.dispatchEvent(e);    

有什么新想法吗?

我终于找到了解决问题的方法。 集成 Selenium2Library 和 Appium Library 后,我使用了这样的关键字来点击一个元素:

Execute Javascript        var e;
    ...                   var el=document.evaluate(
    ...                     '${xpath_element}',
    ...                     document,
    ...                     null,
    ...                     XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
    ...                     null
    ...                     ).snapshotItem(0);
    ...                   e=document.createEvent("Event");
    ...                   e.initEvent('tap',true,false);
    ...                   el.dispatchEvent(e);

如果有人遇到同样的问题,这应该有效。