我有以下佈局:Robotium不滾動到我的片段和活動文本視圖
正如你所看到的,Robotium填補了文本爲EditText
意見。它還會滾動並填寫「玩家姓名」後面的「團隊」字段。但是,此後有一個Spinner
,在textView
中有適當的標籤,而solo.searchForText()
不會向下滾動以查看。這是因爲拆分Action Bar?在測試中我能做些什麼來彌補這個問題?
試圖訪問相關的代碼Spinner
:
Spinner playerPositionSpinner = (Spinner) solo.getView(R.id.player_position_text);
@SuppressWarnings("unchecked")
ArrayAdapter<CharSequence> playerPositionAdapter = (ArrayAdapter<CharSequence>) playerPositionSpinner
.getAdapter();
int newIndex = playerPositionAdapter.getPosition(card
.getPlayerPosition());
int currIndex = playerPositionSpinner.getSelectedItemPosition();
boolean isPositionVisible = solo.searchText(
solo.getString(R.string.player_position_label), true);
solo.waitForView(R.id.player_position_text);
boolean isConditionVisible = solo.searchText(solo.getString(R.string.condition_label),
false);
int index = -1;
if (!isConditionVisible && isPositionVisible) {
index = 0;
}
if (isPositionVisible && isConditionVisible) {
index = 1;
}
Assert.assertFalse("Invalid index", index == -1);
solo.pressSpinnerItem(index, newIndex - currIndex);
的形式片段的XML佈局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@id/scroll_card_details"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1" >
<TableRow>
<CheckBox
android:id="@id/autograph"
android:text="@string/autograph_label"
android:layout_span="2" />
</TableRow>
<TableRow>
<TextView
android:text="@string/condition_label"
android:textStyle="bold" />
<Spinner
android:id="@id/condition"
android:hint="@string/condition_hint"
android:singleLine="true" />
</TableRow>
<TableRow>
<TextView
android:text="@string/brand_label"
android:textStyle="bold" />
<AutoCompleteTextView
android:id="@id/brand_text"
android:completionThreshold="1"
android:hint="@string/brand_hint"
android:inputType="textCapWords"
android:selectAllOnFocus="true"
android:singleLine="true" >
<requestFocus />
</AutoCompleteTextView>
</TableRow>
<TableRow>
<TextView
android:text="@string/year_label"
android:textStyle="bold" />
<EditText
android:id="@id/year_text"
android:hint="@string/year_hint"
android:inputType="number"
android:selectAllOnFocus="true"
android:singleLine="true" />
</TableRow>
<TableRow>
<TextView
android:text="@string/number_label"
android:textStyle="bold" />
<EditText
android:id="@id/number_text"
android:hint="@string/number_hint"
android:inputType="number"
android:selectAllOnFocus="true"
android:singleLine="true" />
</TableRow>
<TableRow>
<TextView
android:text="@string/value_label"
android:textStyle="bold" />
<EditText
android:id="@id/value_text"
android:hint="@string/value_hint"
android:inputType="numberDecimal"
android:selectAllOnFocus="true"
android:singleLine="true" />
</TableRow>
<TableRow>
<TextView
android:text="@string/count_label"
android:textStyle="bold" />
<EditText
android:id="@id/count_text"
android:hint="@string/count_hint"
android:inputType="number"
android:selectAllOnFocus="true"
android:singleLine="true" />
</TableRow>
<TableRow>
<TextView
android:text="@string/player_name_label"
android:textStyle="bold" />
<AutoCompleteTextView
android:id="@id/player_name_text"
android:completionThreshold="1"
android:hint="@string/player_name_hint"
android:inputType="textCapWords"
android:selectAllOnFocus="true"
android:singleLine="true" />
</TableRow>
<TableRow>
<TextView
android:text="@string/team_label"
android:textStyle="bold" />
<AutoCompleteTextView
android:id="@id/team_text"
android:completionThreshold="1"
android:hint="@string/team_hint"
android:inputType="textCapWords"
android:selectAllOnFocus="true"
android:singleLine="true" />
</TableRow>
<TableRow>
<TextView
android:text="@string/player_position_label"
android:textStyle="bold" />
<Spinner
android:id="@id/player_position_text"
android:hint="@string/player_position_hint"
android:singleLine="true" />
</TableRow>
</TableLayout>
</ScrollView>
我有同樣的問題,這是我做的: 'solo.sendKey(Solo.DOWN); solo.sendKey(Solo.DOWN); solo.sendKey(Solo.DOWN);' –