2014-10-21 125 views
2

我仍然在學習使用Android應用程序進行Appium測試。我想知道這是否可行。使用Appium黑色測試Android應用程序

讓我們說我有A.apk,我想要安裝A.apk到我的Android設備,然後啓動應用程序並嘗試點擊每個可點擊的鏈接(按鈕,幫助鏈接,圖像鏈接等)和看看有沒有人壞了。

我沒有訪問A.apk的源代碼,但是我可以潛在地需要這樣做,以高達100個其他Android應用因此手動目測每個鏈路是完全不可能。

回答

1

簡短回答是:是的,你可以
編寫此類測試的努力程度取決於您希望測試的深度,但即使在最複雜的情​​況下也不需要任何應用程序源。

下面是更詳盡的答案。

你可以寫黑箱測試僅在用戶應該看到UI元素依託。
在許多情況下,通過出現在文本上的文本來識別可點擊的對象就足夠了。

測試快照的java:

// find your button by the text 
WebElement button = driver.findElement(By.name("my button")); 
button.click(); 
// you can then wait for the next screen to appear, scroll to element, etc. 

// then you verify that certain text is on screen 
WebElement title = driver.findElement(By.text("some Title")); 
assertNotNull(title); 

您可以參考examplessome documentation

對於更復雜的情況,當您不希望/不能只依賴文本時,您可能需要使用類(即Button,TextView,EditText),XPath值,屏幕上唯一的id字符串來手動識別某些元素。
您可以通過使用appium inspectorUI automator viewer下測試檢查應用程序(你需要做的只是一旦你寫你的測試之前)獲得所有這些信息。
同樣,除了.apk文件外,您不需要任何東西。

+0

謝謝kiruwka!
是否有可能完全黑試驗一個apk,這意味着甚至沒有運行一次uiautomatorviewer?例如,我可以使用Appium啓動apk。然後使用深度優先搜索,並按照每個可點擊的WebElement,無論按鈕,文本視圖,視圖等 – user908645 2014-10-28 07:21:34

+0

@ user908645當然你可以做到這一點。但是,在我的理解中,功能性UI測試通常與手動用戶測試具有相同的含義:即,用戶點擊「Button1」 - >他應該「看到第2頁文本'abc'等。 – kiruwka 2014-10-28 07:35:50

0

你不一定需要源代碼,以全面測試您的APK。由於Appium提供測試APK的好方法(不需要src),爲什麼不使用真實設備自動化測試呢?模擬器不幸的是沒有提供好的結果(沒有OEM定製,沒有真正的硬件,網絡等)。

+0

非常感謝erkz的信息。是的,我選擇Appium的原因是,從我讀過的關於它Appium可以用於apk的黑色測試,沒有源代碼。但是我找到的所有示例都要求我使用某種標識符,例如resource-id,text等,通過findElements ...調用來定位特定的WebElement。讓我們說如果我不知道xpath,resource-id,apk文本的使用,我如何遍歷當前頁面上所有可點擊的鏈接/按鈕。並進一步瞭解如何從一個活動導航到另一個活動。任何示例代碼有助於 – user908645 2014-10-23 04:15:45

相關問題