2016-04-13 182 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