2016-03-01 70 views
0

我使用Calabash框架進行測試自動化,並且需要自動化Android/IOS應用程序的註冊場景。使用PayPal自動測試Calabash

恰恰相反,註冊步驟之一就是鏈接到PayPal賬戶。

至少對於Android來說,我可以確認Paypal/Braintree SDK打開用戶完成鏈接過程的默認外部瀏覽器,當發生這種情況時,Calabash框架無法與瀏覽器交互並且測試掛起。

我可以強制Paypal SDK使用嵌入式webview進行鏈接過程嗎? 如果不是,是否有人想象另一種自動化這種情況的方式?

回答

2

儘管這是一種常見的情況(即Facebook登錄,谷歌登錄等),但不幸的是,目前葫蘆框架還沒有提供一種文檔化的方式來與第三方應用程序進行交互。限制在於兩種操作系統的安全特性,這些操作系統不允許自動跳到其過程之外(而移動瀏覽器是單獨的過程)。但是,正如我所提到的那樣,這是一種常見的情況,所以有一種解決方案:我們通常建議人們使用稱爲「後門方法」的東西,它們是應用程序內部的方法,您可以直接從葫蘆中觸發。文檔可從Xamarin的官方文檔頁面獲得iOSAndroid

這個想法是,你會在你的應用程序中創建一個後門方法,模擬用戶成功登錄/完成任何通過Paypal/Facebook /無論什麼。當您到達測試中用戶通常會轉到第三方應用程序的部分時,您會調用後門程序。

也考慮一下:如果Paypal/Facebook /無論什麼事情發生,會發生什麼?由於應用程序控制之外的因素導致用戶無法登錄會怎麼樣?在這種情況下,您的應用程序的測試失敗是沒有意義的,因爲失敗與您的應用程序無關。換句話說,後門允許你測試你的應用程序,而不是Paypal。

希望這是有幫助的,請讓我知道如果你想了解更多信息。

+0

這是正確的答案。 +100 – jmoody

+0

@Christopher Fuentes感謝您的回覆,這在某種程度上是一種掙扎,因爲如果我們在某個時候沒有經過鏈接過程,應用程序不會讓我們觸及某些需要完全測試的屏幕貝寶。爲此,我們正在考慮更改後端REST API以僅爲測試提供此類帳戶鏈接。儘管我們不會對應用程序進行後門,但我會接受這個答案。 –