2016-03-01 71 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以仅为测试提供此类帐户链接。尽管我们不会对应用程序进行后门,但我会接受这个答案。 –