A. robotium進行android自動化測試怎麼重新簽名
樓主似乎沒有用IDE…如果有eclipse的話右擊工程,android tools,export signed apk,並使用和test同樣的證書簽名settings。但是setting又是一個比較特殊的應用,換了自己的簽名會掛掉(和系統的不一樣了嘛),改包名吧,或者換個東西測試。如果非要蛋疼地測試settings你得自己重做ROM,或者把原系統的幾個jar掏出來一起編譯,具體哪幾個可以搜索systemui和frameworkres美化教程,原理一樣的~
B. Android 手機自動化測試工具有哪些
1、Monkey是Android SDK自帶的測試工具,在測試過程中會向系統發送偽隨機的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試,也有日誌輸出。實際上該工具只能做程序做一些壓力測試,由於測試事件和數據都是隨機的,不能自定義,所以有很大的局限性。
2、MonkeyRunner也是Android SDK提供的測試工具。嚴格意義上來說MonkeyRunner其實是一個Api工具包,比Monkey強大,可以編寫測試腳本來自定義數據、事件。缺點是腳本用python來寫,對測試人員來說要求較高,有比較大的學習成本。
3、Instrumentation是早期Google提供的Android自動化測試工具類,雖然在那時候JUnit也可以對Android進行測試,但是Instrumentation允許你對應用程序做更為復雜的測試,甚至是框架層面的。通過Instrumentation你可以模擬按鍵按下、抬起、屏幕點擊、滾動等事件。Instrumentation是通過將主程序和測試程序運行在同一個進程來實現這些功能,你可以把Instrumentation看成一個類似Activity或者Service並且不帶界面的組件,在程序運行期間監控你的主程序。缺點是對測試人員來說編寫代碼能力要求較高,需要對Android相關知識有一定了解,還需要配置AndroidManifest.xml文件,不能跨多個App。
4、UiAutomator也是Android提
C. Android 手機自動化測試工具有哪幾種
既然說到andoird測試工具的分類,我就以分類的角度來回答吧。
1)純白盒方式的測試,Monkey。樓上已經有哥們提到了,使用moneky更多的是開發team,而不是純粹的測試team,畢竟要求對android開發比較了解才用得了monkey。
2)偏白盒的robotium,這傢伙號稱是黑盒,但是本人不太認同~ 因為使用robotium需要知道package和acitivity這樣的細節,即便不是開發人員來做,也得從開發人員那裡獲得不少開發文檔才能做。
3)純黑盒的方式,這個分類比較有意思,我分得細點
3-1)sikuli,原來只針對桌面應用,後來自然延伸到了android app,讓人眼前一亮的測試方式。框個圖,寫個簡單的python測試腳本(其實java腳本也可以),測試就做好了,簡單又形象,還有邏輯。因為驗證點是依賴於圖片比對,所以瓶頸也在此。屏幕大小和解析度的不同是這種測試的硬傷,如果測試團隊覺得每個手機上摳下來的圖要重新截,那...也就沒啥了。
3-2)testin,deviceanywhere等
樓上那個哥們應該是testin的人,介紹已經很全面了,我只概括一下。這類測試本身沒有神馬特別的,無非是放在了雲端,將規模化的測試做到了極致,與其說是測試工具,不如說是測試平台。說缺點嘛也有,由於只是簡單的基於坐標的腳本錄制(並沒有靈活的功能性驗證點),這種測試往往比較簡單,只是做做簡單的適配性和性能測試,畢竟賣點不在測試類型上。
3-3)clicktest(我們家的工具,算是廣告吧,呵呵)
論原理,也是基於圖片對比技術,只是做了些優化,比對的智能一些,跨手機的效果更好罷了。也支持錄制回放,自定義了一些測試命令,易上手,可讀性強,不再需要使用者(手工測試人員)編程了。另外,支持工作流式的邏輯集成,可以靈活得組合測試步驟,增強復用性。clicktest是工具,不是平台,歡迎各位咨詢和探討。
對了,還有一種
4)硬體輔助的測試方式,我就不舉例了
先說原理,硬體輔助視頻輸出(攝像頭or視頻線),控制方式是軟硬體結合。這種方式的特點,跨平台杠杠的,但是成本高,包括硬體成本以及硬體工程師的成本。
D. 基於Robotium的android自動化測試,新建android test project時「java.lang.NullPointerException」
我也遇到過這個問題 自動忽略了 沒什麼影響
E. android Robotium自動化測試框架如何利用Android studio無源碼進行編碼
http://blog.csdn.net/w306695293/article/details/55798688,這個是我寫的,可以參考一下
F. 用Robotium測試Android上的應用程序,在只有apk的情況下,對apk進行了重新簽名,但是還是行不通。
需要網上下載的debug.keystore覆蓋到本機的,然後在重新簽名,一般在都在xxx/.android/目錄下,當然對於linux來說,需要使用sudo,負責可能沒有許可權
G. Android studio中robotium如何用testng生成報告
新建一個簡單的 Demo 應用,使用 AS 的默認創建的就好,默認應用的 MainActivity 界面上 TextView 的內容設置為robotium test
在app/build.gradle中添加測試依賴
dependencies {在src/androidTest,與默認創建的ApplicationTest類同級的目錄下創建一個MainActivityTest
public class MainActivityTest extends <MainActivity>{H. 怎樣使用Appium進行Android自動化測試
1、Robotium——安卓測試工具 Robotium是安卓系統最常用的自動化測試工具,並且是一款免費的安卓UI測試工具。它適合於各種不同的安卓版本及其下行版本。軟體開發者經常把它稱作安卓。Robotium創建的測試使用Java寫的。事實上,Robotium是一個個體測試資料庫。 但是Robotium需要花費很長時間努力去創建測試,就像為了自動化程序創建的源代碼。它不適合互動的軟體系統,不能鎖住和解鎖智能手機。Robotium沒有記錄和播放功能,它不支持截屏。 2、MonkeyRunner——安卓App測試工具 MonkeyRunner是最流行的有自動化功能的安卓軟體測試工具。MonkeyRunner比起Robotium要低端一些。它並不處理源代碼。測試創建是用Python寫的,其中可能使用記錄工具,為了創建測試。MonkeyRunner可以在連接狀態的PC或者模擬器上運行測試。它有一個應用程序介面可以控制智能手機或者模擬器。但手機APP測試工具的最大缺陷是每個設備都要編寫腳本。另一個缺陷就是,每次測試程序發生改變時都要調整。 3、Ranorex——安卓App測試工具 Ranorex是一個不錯的自動化測試工具,不僅最新版本,Android 2.2.以上版本都是可以的。Ranorex的好處在於它有詳細的截屏報告。他可以通過WiFi上網連接智能手機或者平板電腦。通過這個 Android 工具,自動化的測試工程師可以詳細描述數據驅動測試,但不包括 XML 數據格式。Ranorex可以很輕松地創建測試,自動化測試工程師只需點擊滑鼠。Ranorex允許附加的程序模塊。這個模塊可以被用於開發更為復雜的測試場景中。Ranorex是一個商業化的移動應用程序的工具;其許可價格是 1990歐元/年。Ranorex搜索相當慢;它需要 30 秒的時間來執行操作。其中一個必須為Ranorex文書的 APK 文件。否則它不能通過這個工具進行自動化測試,它只能在APK 文件下工作。 4、Appium——安卓自動化測試工具 Appium是為iOS和安卓系統創建的自動化測試框架,是一個免費工具。它支持 2.3 及更高版本的 Android 系統。Appium利用WebDriver界面運行測試。它支持許多編程語言,如 Java、 C#、Ruby和其他的WebDriver資料庫。它可以在移動設備上控制 Safari 和Chrome。但是,一些自動化的測試工程師抱怨它提供的報告不足。它的缺點也減少了對於XPath在移動設備上的支持。 5、UI Automator——安卓自動化測試 谷歌最近推出了這一工具。它支持從4.1開始的安卓版本。我們應該選擇另一個更早期的安卓應用程序進行自動化測試。UI Automator能夠與各類安卓系統兼容,包括系統的應用程序。這使得UI Automator可以鎖定和解鎖智能手機或平板電腦。通過該工具創建的腳本可以在許多不同的安卓平台上執行。它允許復制用戶的操作復雜的序列。UI Automator也可以利用外部按鈕的裝置調節,打開和關閉設備的按鈕。 UI Automator可以與測試框架TestNG集成。在這種情況下,用戶界面自動可以生成內容豐富和詳細的報告,類似於由Ranorex生成的報告。此工具搜索速度還非常快。在許多安卓平台上測試後,軟體測試專家認為UI Automator是質量最好的移動應用程序。它是安卓做好的應用程序之一,它由谷歌推出。 通常大約 80%的新軟體的 bug 都會重現支持的平台。其餘 20%出現在其他平台上。這意味著,在大多數情況下,事先測試軟體產品比盲目使用更好。 目前, Android 4.1 版本安裝了約 66%操作系統的設備。這就是為什麼許多自動化的測試工程師經常決定UI Automator是最合適的解決方案。
I. Android自動化測試工具有哪些
1.DroidPilot:一個新出android自動化測試工具
DroidPilot是一個自動化測試工具。它可以針對於Android平台的應用程序進行測試腳本編輯、自動回放、結果檢查、報告輸出等操作,以此來縮短回歸測試的時間和提升項目整體進度。測試的腳本不僅可以運行於模擬器,更可以同時運行於多台移動設備,這樣更能凸顯測試結果的真實性和可比性。
2.MonkeyRunner:AndroidSDK自帶一個測試工具
MonkeyRunner提供的API和執行環境可以運行Python語言編寫的測試代碼。它提供了API來連接設備,安裝、卸載應用,運行應用,截屏,比對圖片來判斷特定命令執行後的屏幕是否包含預期信息,以及運行對應用的測試。MonkeyRunner使用,ProviderTestCase,ServiceTestCasek,SingleLaunchActivityTestCase及其他類來定義測試用例,並使用InstrumentationTestRunner類來運行測試。
3.Robotium:被稱之為針對Android應用的又一個Selenium
Robotium是另一種通過InstrumentationTestRunner來完成Android互動式測試的架構,它可以橫跨多個activities,並且支持功能測試,系統測試和接收測試。Robotium支持Activities、Dialogs、Toasts、Menus、ContextMenus甚至Honeycomb,並且它可以同Maven和Ant集成來完成持續集成測試。
4.Robolectric:Pivotal實驗室聲稱使用Robolectric可以在28秒內運行1047個測試
Robolectric另闢蹊徑,它並不依賴於Android提供的測試功能,它使用了shadowobjects並且運行測試於普通的工作站、伺服器JVM,不像模擬器或設備需要dexing(Androiddex編譯器將類文件編譯成Android設備上的DalvikVM使用的格式),打包,部署和運行的過程,大大減少了測試執行的時間。
5.LessPainful:多設備平台自動化測試的服務
LessPainful將Android測試又推進了一步,它提供了一個多設備平台自動化測試的服務。用戶上傳應用(*.apk)和用Cucumber(一種業務相關的DSL)編寫的測試文件,選擇測試運行需要的設備配置,最後測試將自動執行並生成測試報告。它支持的設備包括GarminAsus,幾款HTC,LG,SamsungGalaxy,SonyXperia和MotorolaMotodefy。
J. android自動化測試,使用robotium與webview,在jsp中用iframe標簽,獲取到iframe里src的另一個jsp的信息。
有可能獲取不到,robotium沒有提供iframe焦點轉移的功能,有可能只能獲取到父HTML內的節點信息。你可以參考robotium的API文檔:http://www.zsshc.net/
static By className(String className)
Select a WebElement by its class name.
static By cssSelector(String selectors)
Select a WebElement by its css selector.
String getValue()
Returns the value.
static By id(String id)
Select a WebElement by its id.
static By name(String name)
Select a WebElement by its name.
static By tagName(String tagName)
Select a WebElement by its tag name.
static By textContent(String textContent)
Select a WebElement by its text content.
static By xpath(String xpath)
Select a WebElement by its xpath.
你可以試試用By的Xpath方式是否能夠定位的到。