【问题标题】:Appium: Button disappears before test has time to click it (iOS)Appium:按钮在测试有时间单击它之前消失(iOS)
【发布时间】:2017-02-08 18:58:06
【问题描述】:

目前使用 Mocha 和 JavaScript 在 iOS 上研究 Appium 还很陌生,但我遇到了一个绊脚石。我们的应用具有视频播放功能,一旦您进入全屏状态,退出全屏的唯一方法是按下屏幕上的任意位置,然后点击出现的“完成”按钮。

我遇到的问题是“完成”按钮在屏幕上出现大约 3.5 秒,当测试尝试单击它时,它已经再次从视图中消失了。

是否可以通过减少点击之间的默认延迟或快速连续执行 2 次点击/点击来解决此问题?

目前,如果我在“完成”按钮第一次从视图中消失后再次手动按下屏幕,但我似乎无法自动化该过程,则我的测试有效。

我的代码目前如下所示:

//Opens the video in full screen
.elementByXPath("//*[@name='Live']").click()
.elementByXPath("//UIAWindow[1]/UIAElement[1]").click()

//Delay of 5 seconds to allow video to play
.sleep(5000)

//Press the video screen to get 'Done' button to appear
.elementByXPath("//UIAWindow[1]/UIAScrollView[1]").click()

//Attempt to click 'Done' button; it always disappears before it can be clicked
.elementByXPath("//*[@name='Done']").click()

任何帮助将不胜感激,正如我所说,我对此很陌生。

谢谢

【问题讨论】:

    标签: javascript appium appium-ios


    【解决方案1】:

    这里的问题是:

    点击屏幕上的任意位置后,您正试图找到“完成”按钮,而 appium 需要几秒钟才能找到该元素。

    解决方法:

    如果每次出现的“完成”按钮的位置相同,那么您可以使用 X 和 Y 坐标执行单击操作,而不是查找实际元素。

    手动查找“完成”按钮的 X 和 Y 坐标(一次性处理)。

    然后点击 X 和 Y 坐标。

    driver.tap(numberOfFingers,X-co-ordinate,Y-co-ordinate,durationInMilliseconds)
    

    例如driver.tap(1,200,300,1000)

    我希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多