【问题标题】:Appium - Received error undefined: Reference element is not definedAppium - 收到错误未定义:未定义参考元素
【发布时间】:2020-04-21 09:01:33
【问题描述】:

我不知道为什么它给了我这个错误。我刚刚开始使用 appium/node.js 进行自动化

谁能帮我解决这个问题?

this.clickOnSavedCard.click();

const waitElemd = $('//android.widget.TextView[@resource-id="com.uat:id/changeSelectedPayment"]');
waitElemd.waitForDisplayed(12000);

driver.touchScroll({
  el: element,
  xOffset: 10,
  yOffset: 100
});

this.runCTA.click();

【问题讨论】:

  • 错误告诉您element(示例代码中的第 7 行/el: element)未定义。应该是el: waitElemd 吗?从这个小代码示例中很难说。
  • @tex const pay = $('//android.widget.TextView[@resource-id="com.uat:id/changeSelectedPayment"]'); driver.touchScroll({ el: pay, xOffset: 10, yOffset: 100 }); 这是我收到的错误。错误:为touchScroll应用了错误的参数属性描述:“xoffset”(数字):x偏移量,以像素为单位滚动“yoffset”(数字):y偏移量,以像素为单位滚动“元素”(字符串):ID滚动开始的元素
  • 试试el: 'changeSelectedPayment'el: 'com.uat:id/changeSelectedPayment'。似乎它想要元素的文本 ID,而不是元素本身。
  • @tex 我试过这个,但仍然面临同样的问题。 :(

标签: node.js appium


【解决方案1】:

看起来您正在使用 WebdriverIO 并遇到此处描述的问题:webdriverio/issues/4172 这实际上取决于您使用的 Webdriverio 版本。根据source code你可以这样称呼它:

driver.touchScroll(10, 110, <elementId>) // current master code

driver.touchScroll( <elementId>, 10, 110) // webdriverio v3.4

请注意,elementId 不是定位器,而是 WebDriver 分配给找到的元素的唯一标识符。所以为了得到它,你首先需要找到一个带有$的元素。 这就是您收到错误的原因:传递了不正确的参数。

也许您不想得到elementId,然后将其传递给touchScroll(),因此可以使用文档建议的TouchAction

driver.touchAction([ {action: 'press', x: startX, y: startY}, {action: 'moveTo', x: endX, y: endY}, 'release' ]);

其中 startX,startYendX,endY 是您想要滚动 fromto 的坐标

【讨论】:

  • CODE driver.touchScroll(10, 110, "com.ua:id/paymentMethodTitle");我在使用您的上述方法时收到此错误,不知道为什么会出现这样的情况.. 它的崩溃.. ERROR_unknown error:处理命令时发生未知的服务器端错误。原始错误:com.jayway.jsonpath.InvalidPathException:无效路径_
  • "com.ua:id/paymentMethodTitle" 是您用来查找元素的定位器,但您需要有 elementId:它是 WebDriver 分配给会话期间找到的每个元素的唯一标识符。正如我所说,你最好不要使用 touchScroll。请检查TouchAction
  • 是的 TouchAction 对我有用。 ** 代码** driver.touchAction([ {action: 'press', x: 782, y: 1332}, {action: 'moveTo', x: 773, y: 765}, 'release' ]);跨度>
猜你喜欢
  • 2020-06-03
  • 2023-03-14
  • 2015-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多