2016-02-05 34 views

回答

0

按我的知識,咖啡,需要應用程序源code.So這是不可能將其與只是一個APK構建自動化。

0

據我所知,舊版本的應用程序沒有咖啡測試。

用不同版本的應用程序打開一個提交到androidTest包括測試並運行assembleAndroidTest Gradle任務來製作一個應用程序,該應用程序已包含您的測試。

此版本的應用程序可能對Testdroid平臺很有用。

我不是這方面的專家,但我也可以建議您使用monkey工具

讀到它在這裏:http://developer.android.com/tools/help/monkey.html

,如果你知道一點Python中,你可以使用monkeyrunner此。

檢查:http://developer.android.com/tools/help/monkeyrunner_concepts.html

這兩個工具將幫助你很多的不同版本的應用程序的運行測試。

希望它能幫助

1

我不知道這是否仍然適用於你,但我會離開我的意見的年齡。首先一些一般信息:

White-box Testing簡單地說 - 測試應用程序的源代碼。它需要在設計測試時對應用程序體系結構進行編程和理解

Black-box Testing正在測試您的應用程序,而無需使用應用程序的源代碼。它再次需要一些編程,但是您沒有任何關於架構的知識就可以設計測試。

你的情況:

是沒可能到自動化使用咖啡沒有源代碼的Android應用程序。

根據上面的兩個定義 - 是的,它可以用黑盒測試框架。

但我想在不同版本的應用程序上運行這些自動化測試?這可能只是通過安裝應用程序並運行測試?

是的,這是可能的使用黑盒子的應用程序。

但是,您的選擇 - Espresso是一個白盒測試框架。您有兩種可能的解決方案:

  1. 獲取要測試的版本的源代碼並編寫測試版本。
  2. 嘗試黑箱測試框架 - 如果你需要
2

答案是肯定的,我可以給你了進一步的建議,您可以運行使用濃咖啡,不用的應用程序源代碼的自動化測試。

Espresso基於Android儀器框架,這意味着自動化測試內置於單個測試apk中。該測試是APK從正常應用APK不同:

  1. 有一個儀表在AndroidManifest.xml註冊,一旦安裝測試APK將要被登記到Android系統

  2. 測試APK必須使用與應用APK相同的簽名進行簽名,以便運行自動測試

  3. 測試APK在同一進程中的應用程式APK

以上是任何基於儀器的測試框架的唯一要求。所以沒有源代碼的依賴。

但爲什麼我們發現大部分Espresso教程都與源代碼混合?因爲它會使得測試更加簡單:

  1. 可以使用類ActivityTestRule容易控制活動的生命週期。

  2. 您可以輕鬆測試應用程序定義的類。

  3. 可以使用的小工具ID

相反測試UI組件,你必須寫很多反射代碼得到,如果你不帶源代碼編譯您需要的類。例如:

  1. 您必須使用類。的forName加載入口活動並啓動它

  2. 你必須使用Java反射來測試應用程序定義的類

  3. 你必須使用文字信息來查找UI窗口小部件,因爲你沒有ID的UI部件

綜上所述,它是確定不運行應用程序源代碼咖啡自動化測試,但它是更難,使測試代碼醜陋。

您可以參考AndroidTestWithoutSource的示例項目。

相關問題