2015-11-14 68 views
0

我在使用Robotium進行Coursera課程練習測試時遇到了麻煩......我會盡力解釋爲您理解的更好方式。Robotium(Android) - View無法通過Robotium測試看到

我有一個用onCreate方法以編程方式創建的TextView的活動,我確定View是正確編碼的,實際上,當我用自己的設備運行Robotium測試時,它通過所有測試,如果屏幕是但是如果我運行屏幕關閉/設備鎖定的測試Robotium在waitForView方法的assertTrue中失敗。

問題是我無法確定在Coursera平臺上運行測試的屏幕是否處於打開狀態(並且它不會導致它失敗,但我嘗試運行測試時出現同樣的錯誤屏幕關閉)。 我認爲它與Robotium有關......但我不知道該如何讓我的TextView在Robotium的waitForView對象上可見。

回答

0

Robotium是一個工具測試框架,它接近您的應用程序的用戶界面,所以只有在看到按鈕時纔會點擊按鈕。

我不知道你在說什麼Coursera課程,爲什麼你認爲他們的測試是在屏幕鎖定上運行 - 這當然是不可能的,但我可以發誓,如果你使用Espresso而不是Robotium它也會失敗。

查找您的手機/仿真器功能Stay awake

您可能需要先在設備上解鎖「Developers Options」。要做到這一點,選擇Settings比點擊About phone,最後點擊Build version幾次。

根據Unlocking the emulator or device for Android test

我跑 Robotium測試時,已經與不可靠的解鎖同樣的問題。我沒有找到解決方案來編程解鎖 可靠工作的設備,但我做了兩件事情,作爲 變通辦法。

  • 只需禁用鎖定屏幕(Settings -> Security -> Screen lock -> None)。不理想,但在一天結束時,可靠的測試是重要的。

  • 啓用「保持喚醒」設置以防止屏幕由於不活動而關閉(Settings -> Developer options -> Stay awake)。一些 OEM /手機要麼沒有這個選項,要麼仍然關閉,所以 爲那些討厭的設備我安裝了[KeepScreenOn] [1]應用程序。

警告:留在屏幕上,坐在主屏幕上,對於一個每天24小時可能會導致某些進行燒屏/重影。我不確定 這是永久的,但請注意這一點。在我們的例子中,我們使用專用測試設備 ,所以這不是什麼大問題。

另請注意,由於手機的屏幕全部爲 次,因此您可能需要調暗亮度以使用較少的電池電量(有時通過USB充電可能會變慢)。

我想你也可以使用uiautomator代碼setUp方法,如果屏幕被鎖定這將檢查。如果true,解鎖設備屏幕。