我仍然在學習使用Android應用程序進行Appium測試。我想知道這是否可行。使用Appium黑色測試Android應用程序
讓我們說我有A.apk,我想要安裝A.apk到我的Android設備,然後啓動應用程序並嘗試點擊每個可點擊的鏈接(按鈕,幫助鏈接,圖像鏈接等)和看看有沒有人壞了。
我沒有訪問A.apk的源代碼,但是我可以潛在地需要這樣做,以高達100個其他Android應用因此手動目測每個鏈路是完全不可能。
我仍然在學習使用Android應用程序進行Appium測試。我想知道這是否可行。使用Appium黑色測試Android應用程序
讓我們說我有A.apk,我想要安裝A.apk到我的Android設備,然後啓動應用程序並嘗試點擊每個可點擊的鏈接(按鈕,幫助鏈接,圖像鏈接等)和看看有沒有人壞了。
我沒有訪問A.apk的源代碼,但是我可以潛在地需要這樣做,以高達100個其他Android應用因此手動目測每個鏈路是完全不可能。
簡短回答是:是的,你可以。
編寫此類測試的努力程度取決於您希望測試的深度,但即使在最複雜的情況下也不需要任何應用程序源。
下面是更詳盡的答案。
你可以寫黑箱測試僅在用戶應該看到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);
您可以參考examples和some documentation。
對於更復雜的情況,當您不希望/不能只依賴文本時,您可能需要使用類(即Button,TextView,EditText),XPath值,屏幕上唯一的id字符串來手動識別某些元素。
您可以通過使用appium inspector或UI automator viewer下測試檢查應用程序(你需要做的只是一旦你寫你的測試之前)獲得所有這些信息。
同樣,除了.apk文件外,您不需要任何東西。
你不一定需要源代碼,以全面測試您的APK。由於Appium提供測試APK的好方法(不需要src),爲什麼不使用真實設備自動化測試呢?模擬器不幸的是沒有提供好的結果(沒有OEM定製,沒有真正的硬件,網絡等)。
非常感謝erkz的信息。是的,我選擇Appium的原因是,從我讀過的關於它Appium可以用於apk的黑色測試,沒有源代碼。但是我找到的所有示例都要求我使用某種標識符,例如resource-id,text等,通過findElements ...調用來定位特定的WebElement。讓我們說如果我不知道xpath,resource-id,apk文本的使用,我如何遍歷當前頁面上所有可點擊的鏈接/按鈕。並進一步瞭解如何從一個活動導航到另一個活動。任何示例代碼有助於 – user908645 2014-10-23 04:15:45
謝謝kiruwka!
是否有可能完全黑試驗一個apk,這意味着甚至沒有運行一次uiautomatorviewer?例如,我可以使用Appium啓動apk。然後使用深度優先搜索,並按照每個可點擊的WebElement,無論按鈕,文本視圖,視圖等 – user908645 2014-10-28 07:21:34
@ user908645當然你可以做到這一點。但是,在我的理解中,功能性UI測試通常與手動用戶測試具有相同的含義:即,用戶點擊「Button1」 - >他應該「看到第2頁文本'abc'等。 – kiruwka 2014-10-28 07:35:50