【问题标题】:Robot Framework + Appium Library: Tap is not working on webview or native contextsRobot Framework + Appium Library:Tap 不适用于 webview 或本机上下文
【发布时间】:2018-07-05 03:19:50
【问题描述】:

我面临一个问题,并在不同的场景下进行了测试,但没有运气。我想听听我的问题的新想法和方法。

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

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

WebdriverException:消息:方法尚未实现

问题 2:当我使用本机上下文时,点击正在工作,但是,我正在测试的页面有滚动,在我执行滚动后,所有元素都放错了位置,我无法点击正确的元素。

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

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

有什么新想法吗?

【问题讨论】:

  • 您可以编辑您的问题并添加机器人框架脚本吗?此外,您可能会遇到该脚本的任何错误。相关的源代码 (XML) 也会有所帮助。

标签: javascript android appium robotframework hybrid-mobile-app


【解决方案1】:

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

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);

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

【讨论】:

  • 当我在关键字上方声明时出现错误(对于 var e;):“检查信息:此检查在未定义关键字时触发。这包括当前文件的导入;如果已配置,则包括 python。 “ 需要帮忙。我面临同样的问题,无法单击任何元素并在 appium 日志中获取 contextId multiple:true 错误
猜你喜欢
  • 2019-06-28
  • 2015-09-24
  • 2017-11-09
  • 2019-03-13
  • 2017-08-04
  • 2020-05-31
  • 2021-07-05
  • 2022-06-21
  • 1970-01-01
相关资源
最近更新 更多