protected Object getDocumentCreationDate(int position) throws Exception { ArrayList<ListView> listViews = solo.getCurrentListViews(); if (listViews == null || listViews.size() == 0) { return null; } ListView listview = listViews.get(0); ListAdapter adapter = listview.getAdapter(); Method method = null; try { method = adapter.getClass().getMethod("getDocumentAttribute", Integer.class, String.class); } catch (NoSuchMethodException e) { Log.e( this.getClass().getSimpleName(), "Unable to find test method getDocumentAttribute on adapter " + adapter.getClass().getName()); } if (method != null) { return method.invoke(adapter, position, "dc:created"); } else { return null; } }
protected String getDocumentTitle(int position) throws Exception { ArrayList<ListView> listViews = solo.getCurrentListViews(); if (listViews == null || listViews.size() == 0) { return "No List View"; } ListView listview = listViews.get(0); ListAdapter adapter = listview.getAdapter(); Method method = null; try { method = adapter.getClass().getMethod("getDocumentAttribute", Integer.class, String.class); } catch (NoSuchMethodException e) { throw new RuntimeException( "Unable to find test method getDocumentAttribute on adapter " + adapter.getClass().getName()); // Log.e(this.getClass().getSimpleName(), // "Unable to find test method getDocumentAttribute on adapter " + // adapter.getClass().getName()); } if (method != null) { String value = (String) method.invoke(adapter, position, "dc:title"); if (value == null) { throw new RuntimeException("Null title returned"); } return value; } else { return null; } }
public void home() { // Scroll listviews up final ArrayList<ListView> viewList = solo.getCurrentListViews(); if (viewList.size() > 0) { getActivity() .runOnUiThread( new Runnable() { public void run() { viewList.get(0).setSelection(0); } }); } // Scroll scrollviews up final ArrayList<ScrollView> viewScroll = solo.getCurrentScrollViews(); if (viewScroll.size() > 0) { getActivity() .runOnUiThread( new Runnable() { public void run() { viewScroll.get(0).fullScroll(ScrollView.FOCUS_UP); } }); } sync(); }
private void selectSpinnerItem(final Spinner s, int num) { assertNotNull(s, "Cannon press spinner item: the spinner does not exist"); Log.i("nofatclips", "Clicking the spinner view"); click(s); sync(); selectListItem(solo.getCurrentListViews().get(0), num, false); }
public void fireEvent( int widgetIndex, String widgetName, String widgetType, String eventType, String value) { View v = null; if (eventType.equals(BACK) || eventType.equals(SCROLL_DOWN)) { fireEventOnView(null, eventType, null); return; } else if (eventType.equals(CLICK_ON_TEXT)) { Log.d("nofatclips", "Firing event: type= " + eventType + " value= " + value); fireEventOnView(null, eventType, value); } if (widgetType.equals(BUTTON)) { v = solo.getButton(widgetName); } else if (widgetType.equals(MENU_ITEM)) { v = solo.getText(widgetName); } else if (widgetType.equals(LIST_VIEW)) { v = solo.getCurrentListViews().get(0); } if (v == null) { for (View w : getAllWidgets()) { if (w instanceof Button) { Button candidate = (Button) w; if (candidate.getText().equals(widgetName)) { v = candidate; } } if (v != null) break; } } fireEventOnView(v, eventType, value); }
protected String getDocumentStatus(int position) throws Exception { ArrayList<ListView> listViews = solo.getCurrentListViews(); if (listViews == null || listViews.size() == 0) { return null; } ListView listview = listViews.get(0); ListAdapter adapter = listview.getAdapter(); Method method = adapter.getClass().getMethod("getDocumentStatus", Integer.class); if (method != null) { return (String) method.invoke(adapter, position); } else { return null; } }
@Smoke public void testNXTMotorActionBrick() { ScriptTabActivity activity = (ScriptTabActivity) solo.getCurrentActivity(); ScriptFragment fragment = (ScriptFragment) activity.getTabFragment(ScriptTabActivity.INDEX_TAB_SCRIPTS); BrickAdapter adapter = fragment.getAdapter(); int childrenCount = adapter.getChildCountFromLastGroup(); int groupCount = adapter.getScriptCount(); assertEquals( "Incorrect number of bricks.", 2 + 1, solo.getCurrentListViews().get(0).getChildCount()); // don't forget the footer assertEquals("Incorrect number of bricks.", 1, childrenCount); ArrayList<Brick> projectBrickList = project.getSpriteList().get(0).getScript(0).getBrickList(); assertEquals("Incorrect number of bricks.", 1, projectBrickList.size()); assertEquals( "Wrong Brick instance.", projectBrickList.get(0), adapter.getChild(groupCount - 1, 0)); assertNotNull( "TextView does not exist.", solo.getText(getActivity().getString(R.string.brick_motor_action))); assertNotNull( "TextView does not exist.", solo.getText(getActivity().getString(R.string.motor_speed))); String buttonOkText = solo.getString(R.string.ok); solo.clickOnEditText(0); solo.waitForText(buttonOkText); solo.clearEditText(0); solo.enterText(0, SET_SPEED + ""); solo.clickOnButton(buttonOkText); int speed = (Integer) UiTestUtils.getPrivateField("speed", motorBrick); assertEquals("Wrong text in field.", SET_SPEED, speed); assertEquals( "Value in Brick is not updated.", SET_SPEED + "", solo.getEditText(0).getText().toString()); assertEquals( "SeekBar is at wrong position", SET_SPEED + 100, solo.getCurrentProgressBars().get(0).getProgress()); solo.setProgressBar( 0, SET_SPEED_INITIALLY + 100); // robotium doesnt go through proper function onProgressChanged() to change // value on progress bar! solo.sleep(200); speed = (Integer) UiTestUtils.getPrivateField("speed", motorBrick); assertEquals("Wrong text in field.", SET_SPEED_INITIALLY, speed); assertEquals( "Value in Brick is not updated.", SET_SPEED_INITIALLY + "", solo.getEditText(0).getText().toString()); assertEquals( "SeekBar is at wrong position", SET_SPEED_INITIALLY + 100, solo.getCurrentProgressBars().get(0).getProgress()); solo.clickOnButton(0); int speedCounter = (Integer) UiTestUtils.getPrivateField("speed", motorBrick); assertEquals("Wrong text in field.", speedCounter, speed - 1); assertEquals( "Value in Brick is not updated.", speed - 1 + "", solo.getEditText(0).getText().toString()); assertEquals( "SeekBar is at wrong position", speed - 1 + 100, solo.getCurrentProgressBars().get(0).getProgress()); solo.clickOnButton(1); speedCounter = (Integer) UiTestUtils.getPrivateField("speed", motorBrick); assertEquals("Wrong text in field.", speedCounter, speed); assertEquals( "Value in Brick is not updated.", speed + "", solo.getEditText(0).getText().toString()); assertEquals( "SeekBar is at wrong position", speed + 100, solo.getCurrentProgressBars().get(0).getProgress()); solo.setProgressBar(0, 1); solo.clickOnButton(0); solo.clickOnButton(0); speed = (Integer) UiTestUtils.getPrivateField("speed", motorBrick); assertEquals("Wrong text in field.", speed, MIN_SPEED); assertEquals( "Value in Brick is not updated.", speed + "", solo.getEditText(0).getText().toString()); assertEquals( "SeekBar is at wrong position", speed + 100, solo.getCurrentProgressBars().get(0).getProgress()); solo.setProgressBar(0, MAX_SPEED + 100); solo.clickOnButton(1); solo.clickOnButton(1); speed = (Integer) UiTestUtils.getPrivateField("speed", motorBrick); assertEquals("Wrong text in field.", speed, MAX_SPEED); assertEquals( "Value in Brick is not updated.", speed + "", solo.getEditText(0).getText().toString()); assertEquals( "SeekBar is at wrong position", speed + 100, solo.getCurrentProgressBars().get(0).getProgress()); String[] motors = getActivity().getResources().getStringArray(R.array.nxt_motor_chooser); assertTrue("Spinner items list too short!", motors.length == 4); Spinner currentSpinner = solo.getCurrentSpinners().get(0); solo.pressSpinnerItem(0, 0); solo.waitForActivity(ScriptTabActivity.class.getSimpleName()); assertEquals("Wrong item in spinner!", motors[0], currentSpinner.getSelectedItem()); solo.pressSpinnerItem(0, 1); solo.waitForActivity(ScriptTabActivity.class.getSimpleName()); assertEquals("Wrong item in spinner!", motors[1], currentSpinner.getSelectedItem()); solo.pressSpinnerItem(0, 1); solo.waitForActivity(ScriptTabActivity.class.getSimpleName()); assertEquals("Wrong item in spinner!", motors[2], currentSpinner.getSelectedItem()); solo.pressSpinnerItem(0, 1); solo.waitForActivity(ScriptTabActivity.class.getSimpleName()); assertEquals("Wrong item in spinner!", motors[3], currentSpinner.getSelectedItem()); }