Подтвердить что ты не робот

Структурная схема тестирования для пользовательского интерфейса Swing

Тестирование пользовательского интерфейса затруднено. Как вы думаете, какова лучшая структура тестирования модулей для Swing?

4b9b3361

Ответ 1

В настоящее время лучшим на мой взгляд является FEST.

Ответ 2

Как вы думаете, что лучше всего тестовая среда для Swing?

Хороший вопрос. Я не могу с этим поделать. Я могу указать вам на статьи о тестировании ui, которые я прочитал из сайта Misko Hevery

Misko Hevery tips

  • Я хотел бы указать вам на Google гуру тестирования Misko Hevery's Веб-сайт. Он много говорит о том, как написать код, который легко проверить.
  • Например, когда вы читаете его превосходные слайды " Как написать жесткий тест Код ", он указывает на слайды 45/288 о том, что стоимость исправление ошибок рендеринга относительно низкий. Я думаю, что он прав насчет этого и что вы не должны быть связанный с наличием 100% кода охватите свой пользовательский интерфейс.
  • У него также есть несколько полезных советов о том, как протестировать UI.

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

ObjectMentor

Это веб-сайт о тестировании. Я нашел эту интересную статью Майкла Фейтерса, объясняя Инструменты автоматизации тестирования UI - это змеиное масло

Ответ 3

Я использовал Jemmy поверх JUnit. Вы можете увидеть фрагмент своего примера действия тестового случая здесь:

    new ClassReference("org.netbeans.jemmy.explorer.GUIBrowser")
        .startApplication();
    JFrameOperator mainFrame = new JFrameOperator("GUI Browser");

    new JButtonOperator(mainFrame, "Reload In").push();
    new JLabelOperator(mainFrame, "Reloaded");

    JTreeOperator tree = new JTreeOperator(mainFrame);

    //click in the middle of the tree
    tree.clickMouse();

    //collapse node     
    tree.collapsePath(tree.findPath("", "|"));

    //expand node       
    tree.expandPath(tree.findPath("", "|"));

    //select node
    tree.selectPath(tree.findPath("GUI Browser", "|"));

    JTextFieldOperator testField = new JTextFieldOperator(mainFrame);

    //type new value in the text field
    testField.clearText();
    testField.typeText("3");