【问题标题】:How to handle Alert windows in Amazon Device Farm /w Appium如何处理 Amazon Device Farm /w Appium 中的警报窗口
【发布时间】:2016-04-13 00:20:33
【问题描述】:

我目前正在试用 Amazon Device Farm,并且能够让虚拟应用程序运行。

但是,当我尝试获取想要在亚马逊设备场上运行的实际应用程序时,我无法这样做。我可以上传 .ipa 文件,压缩并上传 py.tests/appium 测试及其依赖项,但是测试失败。

我认为可能发生的情况是 ADF 无法识别某些 Desired_capabilities 以自动关闭通知和 GPS 坐标的警报。

我的设置与我在初始测试中用于虚拟应用的设置非常相似。 (这些与亚马逊设备农场合作) https://github.com/dlai0001/appium-spike-running-tests-oncloud

唯一真正不同的是我使用的是真正的生产应用程序,启动时会弹出 2 个警报窗口。在 Appium 中,如果我没有在所需功能中启用自动关闭或自动接受警报,它将导致测试崩溃。

Harness 00:00.0 1295 Info Starting 00001 with device c00e8ab68437161b894395e438ba8935a672bac0
Harness 00:00.0 1295 Info Using test content version 0.1.0
Harness 00:00.1v1295 Info Using image version ami-778b7c17

【问题讨论】:

    标签: appium-ios aws-device-farm


    【解决方案1】:

    我在 Amazon Device Farm 团队工作。

    1. 您似乎依赖于所需的功能来关闭警报窗口。目前,Device farm 只支持非常有限的一组所需功能,即应用程序名称、包名称和 osversion。这些可供应用程序使用,而无需用户进行设置。

    2. Appium 在 Device Farm 上以 autoAcceptAlerts=true 运行。这应该处理警报窗口(如果有),除非它是 autoAcceptAlert 无法处理的系统弹出窗口。您应该检查您的测试是否可以在本地使用带有 Appium 预启动模式的 autoAcceptAlerts=true 处理警报窗口。 如果它可以处理它,那么设备场应该以相同的方式运行。 有时可能会在 appium 会话建立之前出现警报窗口,在这种情况下添加延迟会有所帮助。

    3. 当您在本地进行测试时,请使用 Appium 版本 1.4.16,因为这是目前在设备场中使用的版本。

    【讨论】:

    • 您好,感谢您的回复。我会尝试添加更多等待。该代码在我这边使用 appium 1.14.13(从 appium 站点下载)在本地运行。我还在模拟设备上的其他 3rd 方设备场上使用 1.14.16 进行了尝试。
    • 这些是我想要的功能。 desired_caps = { "autoAcceptAlerts": True, # 设置为自动接受对话框以防止阻塞测试。 "sendKeyStrategy": "grouped" } wd = webdriver.Remote('0.0.0.0:4723/wd/hub', desired_caps) wd.implicitly_wait(60) # 添加一个长时间等待以解决缓慢或远程网格的问题。
    • 您无需传递所需的功能即可让设备场运行它。它已经以 autoAcceptAlert=true 运行。它不会接受 "sendKeyStrategy": "grouped" 所需的功能。超时的真正衡量标准也是在真实设备上。您提到您针对模拟设备进行了测试?
    • 我已经在本地对模拟设备进行了测试。据我所知,这似乎是在应用程序完全启动之前出现的地理定位和通知系统弹出窗口。我尝试添加 .switch_to.alert.dismiss() 调用,但是,它在实例化 RemoteWebdriver 本身的步骤中失败了。
    • 由于测试是针对设备场上的真实设备运行的,您能否检查您是否在真实的本地设备上看到了相同的行为?模拟器上的结果可能与真实设备不同。您是否也在本地使用 Appium 1.4.16,因为这是当前在设备场上使用的版本。
    猜你喜欢
    • 2018-07-05
    • 2021-02-13
    • 2020-10-07
    • 2017-12-01
    • 2014-08-29
    • 1970-01-01
    • 2017-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多