簡體   English   中英

android測試-EditText即使有字符也返回空

[英]android testing - EditText returning empty even when it has characters

我正在嘗試對EditText進行功能測試,首先使用以下代碼片段將重點放在該字段上,從而向其發送文本:

instrumentation.runOnMainSync(new Runnable() {
    @Override
    public void run() {
         editText.requestFocus();
    }
}

然后通過以下方式發送字符串:

instrumentation.waitForIdleSync();
instrumentation.sendStringSync("Some Text");
instrumentation.waitForIdleSync();

如果我運行測試並觀看它,則實際上是將文本輸入到EditText中,但是當我嘗試將其用於斷言時,EditText返回一個空文本:

assertFalse(editText.getText().toString().isEmpty());

我嘗試記錄文本,但實際上返回的是一個空字符串,就像EditText中沒有文本一樣。 我還嘗試過在單獨的Runnable上運行斷言,或者經過一定的延遲后仍然無濟於事。

臨時解決方案:至此,我通過手動添加通過了測試

editText.setText("Some Text");

在斷言之前,盡管我認為可能有更好或正確的方法。

我發現的另一個解決方法是使用Android Espresso。 通過檢測將字符串發送到EditText之后,我可以通過以下方式聲明其有效性:

 onView(withText("Some Text")).check(matches(isDisplayed()));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM