近测试框架收到反馈,详查后发现了一个Robotium的问题,甚有趣,遂记录。 问题场景: Robotium.enterText输入数据后,点击"发送"按钮,多数情况下失败,少数时候成功。
问题分析: 这个问题不需要深入的分析流程,直接看enterText源码便可发现大概问题: public void setEditText(final EditText editText, final String text) { if(editText != null){ final String previousText = editText.getText().toString(); inst.runOnMainSync(new Runnable() { public void run() { editText.setInputType(InputType.TYPE_NULL); // 设置input类型,不重要 editText.performClick(); dialogUtils.hideSoftKeyboard(editText, false, false); if(text.equals("")) editText.setText(text); else{ editText.setText(previousText + text); editText.setCursorVisible(false); // …为什么text.equals("")不需要呢setCursorVisible(false)呢?这TM在玩我吧......算了这个也不重要... } } }); } }