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);
如果有人遇到同样的问题,这应该有效。
我遇到了一个问题,并在不同的场景下进行了测试,但没有成功。我想听听解决我的问题的新想法和方法。
上下文:我正在使用 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);
如果有人遇到同样的问题,这应该有效。