当测试按下开始按钮时,游戏不会启动

时间:2011-08-09 12:47:53

标签: android testing junit sendkeys

我正在开发2D街机游戏并编写测试(在单独的Android JUnit测试项目中)。我需要游戏运行一些测试方法。我写了以下代码:

public void testGameStart() throws InterruptedException {
    _activity.runOnUiThread(
              new Runnable() {
                public void run() {
                    _gameView.requestFocus();
                } // end of run() method definition
              } // end of anonymous Runnable object instantiation
            ); // end of invocation of runOnUiThread
    //start game
    this.sendKeys(KeyEvent.KEYCODE_MENU,
            KeyEvent.KEYCODE_ENTER);
    Sub.sleep(10000); //wait 10 seconds

在运行此测试时,我看到菜单出现并突出显示“开始”,但是我没有在模拟器上看到游戏启动。但是,当我单击“MENU”然后在测试运行期间自己“启动”时,它会启动。我做错了什么?

2 个答案:

答案 0 :(得分:1)

这对我来说很奇怪,但以下代码按照我需要的方式运行:

this.sendKeys(KeyEvent.KEYCODE_MENU);
this.sendKeys(KeyEvent.KEYCODE_ENTER);

感谢AeroDroid尝试回答。也许我以前的代码完全集中在按钮上。

答案 1 :(得分:0)

我不知道这是否直接回答了你的问题,但我会根据我认为你想说的话来回答我的问题。如果我误解了它,我道歉。我认为你所指的“突出显示”只是重点关注的开始按钮。如果你只是专注于它,当然不会按下或激活开始按钮。从您提供的代码中,我不会通过尝试逐字地强制用户执行操作来启动操作。如果您制作菜单,不知道如何开始游戏。你的程序中没有办法调用开始按钮中的内容吗?