Игра не запускается, когда тест нажимает кнопку запуска - PullRequest
1 голос
/ 09 августа 2011

Я разрабатываю 2D аркадную игру и пишу тесты (в отдельном Android JUnit Test Project). Мне нужно запустить игру для некоторых методов тестирования. Я написал следующий код:

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 ]

1 голос
/ 10 августа 2011

Это странно для меня, но следующий код работает так, как мне нужно:

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

Спасибо AeroDroid за попытку ответить.Возможно мой предыдущий код точно сфокусирован на кнопке.

0 голосов
/ 09 августа 2011

Я не знаю, отвечает ли это прямо на ваш вопрос, но я собираюсь основывать свой ответ на том, что, по вашему мнению, вы пытаетесь сказать;Я прошу прощения, если я неправильно понимаю.Я думаю, что «выделение», о котором вы говорите, это просто фокусировка кнопки «Пуск».Кнопка пуска, конечно, не будет нажата или активирована, если вы просто сфокусированы на ней.Исходя из предоставленного вами кода, я бы никогда не начал действие, пытаясь буквально форсировать действия пользователя.Если вы сделали меню, вы не знаете, как начать игру.Нет ли в вашей программе способа вызвать то, что находится в кнопке запуска?

...