久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

在 Android 視圖中使用 UI 元素進(jìn)行測(cè)試

Testing with UI elements in Android view(在 Android 視圖中使用 UI 元素進(jìn)行測(cè)試)
本文介紹了在 Android 視圖中使用 UI 元素進(jìn)行測(cè)試的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

限時(shí)送ChatGPT賬號(hào)..

我正在嘗試使用以下測(cè)試用例測(cè)試簡(jiǎn)單的 UI,主要思想是在測(cè)試中設(shè)置一些 UI 文本(模仿用戶輸入),然后主動(dòng)點(diǎn)擊一個(gè)事件.

I am attempting to test simple UI with the following test case, The main idea is to set in the test some of the UI text (to mimic user input) and then actively click an event.

public class StackTestCase 
extends ActivityInstrumentationTestCase2<Stack> 
{
private StackDemo mActivity;

private EditText eaten;
    public StuckTestCase() {
         super("com.crocodil.software.stack", Stack.class);


    }
    public StuckTestCase(Class<Stack> activityClass) {
         super("com.crocodil.software.stack", activityClass);

    }
    protected void setUp() throws Exception {
        super.setUp();
        mActivity = this.getActivity();
        mCount = (Button) mActivity.findViewById(com.crocodil.software.stack.R.id.action);
        eaten = (EditText) mActivity.findViewById(com.crocodil.software.stack.R.id.eaten);

    }

    public void testPreconditions() {
        assertNotNull(mStatus);
      }

    public void testSimpleDefaults(){
        double status = Double.valueOf(mStatus.getText().toString());
        eaten.setText(2);
        mCount.performClick();
        assertEquals((status-2),Double.valueOf(mStatus.getText().toString()));
    }

}

運(yùn)行結(jié)果是異常——

android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
at android.view.ViewRoot.checkThread(ViewRoot.java:2802)
at android.view.ViewRoot.playSoundEffect(ViewRoot.java:2581)
at android.view.View.playSoundEffect(View.java:8516)
at android.view.View.performClick(View.java:2407)
at com.crocodil.software.stack.test.StackTestCase.testSimpleDefaults(StackTestCase.java:46)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194)
at android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447)

這發(fā)生在每次訪問 UI 元素時(shí),我無法通過使用句柄或異步任務(wù)來避免它?有什么建議嗎?

This happens on each access to the UI elements and i was unable to avoid it by using handles or async task ? any suggestions?

推薦答案

這是一個(gè)老問題,但我還是給你一個(gè)答案,以防有人偶然發(fā)現(xiàn).

This is an old question, but I'm giving you an answer anyway, in case someone stumbles upon it.

除了主線程(UI 線程)之外,您不能從任何地方更改 UI 小部件的狀態(tài).您的 performClick 必須像這樣完成:

You are not allowed to change states of UI widgets from anywhere but the main thread (UI thread). Your performClick must be done like this:

mActivity.runOnUiThread(new Runnable() {
  @Override
  public void run() {
    mCount.performClick();
  }
});

但這還不是全部,您還需要通過添加以下行來將您的儀器測(cè)試與 ui 同步:

But that is not all, you will also need to sync your instrumentation test with the ui, by adding the following line:

getInstrumentation().waitForIdleSync();

同步行通常緊跟在 runOnUiThread() 代碼之后.

The sync line is usually placed immediately after the runOnUiThread() code.

這篇關(guān)于在 Android 視圖中使用 UI 元素進(jìn)行測(cè)試的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Cut, copy, paste in android(在android中剪切、復(fù)制、粘貼)
android EditText blends into background(android EditText 融入背景)
Change Line Color of EditText - Android(更改 EditText 的線條顏色 - Android)
EditText showing numbers with 2 decimals at all times(EditText 始終顯示帶 2 位小數(shù)的數(shù)字)
Changing where cursor starts in an expanded EditText(更改光標(biāo)在展開的 EditText 中的開始位置)
EditText, adjustPan, ScrollView issue in android(android中的EditText,adjustPan,ScrollView問題)
主站蜘蛛池模板: 欧美亚洲另类丝袜综合网动图 | 成人免费激情视频 | 99热国产在线播放 | 精品99爱视频在线观看 | 视频一区在线观看 | 偷派自拍| 99久久久无码国产精品 | 美女黄视频网站 | 免费黄色的视频 | 一区中文| 国产午夜精品一区二区三区嫩草 | 伊人国产精品 | 亚洲一区免费 | 国产精品永久免费 | 精品欧美一区二区中文字幕视频 | 四虎影院新地址 | 超碰成人免费 | 日韩有码一区 | 在线观看视频福利 | 99久久精品国产一区二区三区 | 一级a爱片性色毛片免费 | 成人影视网址 | 国产伦一区二区三区久久 | 在线观看国产精品一区二区 | 国产精品视频一区二区三区不卡 | 国产一区二区免费 | 精品九九九 | 亚洲精品免费视频 | 成人国产一区二区三区精品麻豆 | 97精品超碰一区二区三区 | 国产精品18久久久久久久 | 久久久久国产一区二区三区 | 91视频精选 | 91精品国产91久久久久久吃药 | 天天干干 | www.精品国产 | 日韩精品在线一区二区 | 91大神新作在线观看 | 美女露尿口视频 | 国产精品日日夜夜 | 免费的日批视频 |