Автоматизированные тесты для Java [закрытые] графический интерфейсы пользователя Swing

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

69
задан finnw 14 November 2012 в 12:48
поделиться

6 ответов

Я не использовал его лично, но , SwingUnit выглядит довольно хорошим. Можно использовать его с jUnit, и это не основано "на местоположении компонентов" (т.е. координаты X и Y).

единственная вещь можно иметь отношение к разработчику NetBeans GUI, определенные уникальные имена для компонентов.

6
ответ дан 24 November 2019 в 13:51
поделиться

Я использую java.awt.Robot. Не хорошо, не легок, но работает каждый раз.

Профессионалы:

  • Вы сознаете ситуацию
  • Очень быстры
  • Сборка Ваш собственный FWK
  • , Портативный
  • Никакие внешние зависимости

Недостатки:

  • Никакой хороший GUI для создания теста
  • необходимо оставить GUI в покое, в то время как Вы тестируете
  • Сборка Ваш собственный FWK
  • , Трудный изменить тестовый код и создать Ваш первый ремень безопасности

Теперь, если бы у Вас есть бюджет, я пошел бы для LoadRunner. Лучше всего в классе.

(Раскрытие: отношения к компании, которая владеет LR, но я работал с LR перед отношениями)

8
ответ дан Javaxpert 24 November 2019 в 13:51
поделиться

Я в настоящее время использую ФЕСТИВАЛЬ . Это работает с JUnit и также сделает снимки экрана проваленных тестов.

Это имеет методы поиска компонента по умолчанию, которые ищут название протестированного компонента (который должен быть установлен вручную), но можно также генерировать тестеры для данного компонента путем передачи его компонент.

26
ответ дан deterb 24 November 2019 в 13:51
поделиться

Мы используем СКОРОСТРЕЛЬНЫЙ Тест и вполне удовлетворены.

6
ответ дан ahu 24 November 2019 в 13:51
поделиться

You can try to use Cucumber and Swinger for writing functional acceptance tests in plain english for Swing GUI applications. Swinger uses Netbeans' Jemmy library under the hood to drive the app.

Cucumber allows you to write tests like this:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

Take a look at this Swinger video demo to see it in action.

14
ответ дан 24 November 2019 в 13:51
поделиться

Мы рассматриваем jemmy для автоматизации некоторых тестов GUI. Выглядит многообещающе.

9
ответ дан 24 November 2019 в 13:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: