android中junit测试各种按钮事件


public class CalculatorHitSomeButtons extends ActivityInstrumentationTestCase <Calculator>{
    public boolean setup = false;
    private static final String TAG = "CalculatorTests";
    Calculator mActivity = null;
    Instrumentation mInst = null;
    
    public CalculatorHitSomeButtons() {
        super("com.android.calculator2", Calculator.class);
    }
    
    @Override
    protected void setUp() throws Exception {
        super.setUp();
        
        mActivity = getActivity();
        mInst = getInstrumentation();
    }
    
    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
    }
    
    @LargeTest
    public void testPressSomeKeys() {
        Log.v(TAG, "Pressing some keys!");
        
        // Make sure that we clear the output
        press(KeyEvent.KEYCODE_ENTER);
        press(KeyEvent.KEYCODE_CLEAR);
        
        // 3 + 4 * 5 => 23
        press(KeyEvent.KEYCODE_3);
        press(KeyEvent.KEYCODE_PLUS);
        press(KeyEvent.KEYCODE_4);
        press(KeyEvent.KEYCODE_9 | KeyEvent.META_SHIFT_ON);
        press(KeyEvent.KEYCODE_5);
        press(KeyEvent.KEYCODE_ENTER);
        
        assertEquals(displayVal(), "23");
    }
    
    @LargeTest
    public void testTapSomeButtons() {
        Log.v(TAG, "Tapping some buttons!");
        
        // Make sure that we clear the output
        tap(R.id.equal);
        tap(R.id.del);
        
        // 567 / 3 => 189
        tap(R.id.digit5);
        tap(R.id.digit6);
        tap(R.id.digit7);
        tap(R.id.div);
        tap(R.id.digit3);
        tap(R.id.equal);
        
        assertEquals(displayVal(), "189");
        
        // make sure we can continue calculations also
        // 189 - 789 => -600
        tap(R.id.minus);
        tap(R.id.digit7);
        tap(R.id.digit8);
        tap(R.id.digit9);
        tap(R.id.equal);
        
        // Careful: the first digit in the expected value is \u2212, not "-" (a hyphen)
        assertEquals(displayVal(), mActivity.getString(R.string.minus) + "600");
    }
  
    // helper functions
    private void press(int keycode) {
        mInst.sendKeyDownUpSync(keycode);
    }
    
    private boolean tap(int id) {
        View view = mActivity.findViewById(id);
        if(view != null) {
            TouchUtils.clickView(this, view);
            return true;
        }
        return false;
    }
  
    private String displayVal() {
        CalculatorDisplay display = (CalculatorDisplay) mActivity.findViewById(R.id.display);
        assertNotNull(display);
        
        EditText box = (EditText) display.getCurrentView();
        assertNotNull(box);
        
        return box.getText().toString();
    }
}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值