2016-04-13 179 views
0

我目前正在尝试亚马逊设备农场,并能够获得一个虚拟应用程序工作。如何处理亚马逊设备农场中的警报窗口/ w Appium

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

我认为可能发生的事情是ADF不识别某些Desired_capabilities来自动忽略通知和GPS坐标的警报。

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

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

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 

回答

0

我为亚马逊设备农场团队工作。

  1. 看来您依赖于所需的功能来关闭警报窗口。目前,设备场已支持一组非常有限的功能,即应用程序名称,软件包名称和osversion。这些可用于应用程序而无需用户设置它。

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

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

+0

嗨,感谢您的回复。我会尝试添加更多的等待。代码在本地使用appium 1.14.13(从appium站点下载)在我身边工作。我也在模拟设备上的其他第三方设备场上使用1.14.16进行了试用。 –

+0

这些是我期望的功能。 desired_caps = { “autoAcceptAlerts”:True,#设置为自动接受对话框以防止阻止测试。 “sendKeyStrategy”:“分组” } wd = webdriver.Remote('http://0.0.0.0:4723/wd/hub',desired_caps) wd.implicitly_wait(60)#添加一个很长的等待来解释缓慢或偏远的网格。 –

+0

您不必通过所需的功能让设备场运行它。它已经运行autoAcceptAlert = true。 它不会接受“sendKeyStrategy”:“分组”所需的功能。另外一个超时的真正措施将在一个真实的设备上。你提到你测试了它与模拟设备? – NikofTime