Cucumber - Gui интерфейс для запуска тестов на огурцы с указанными тегами c - PullRequest
0 голосов
/ 02 марта 2020

Я новичок в огурце, и хотя я могу запускать свои тесты с помощью класса Cucumber, я хочу создать простой GUI интерфейс, такой как прикрепленный.

Идея состоит в том, чтобы иметь несколько флажков, которые связаны с указанными c тегами огурца,

Так что, если я проверю только «Тест 1», я хочу запустить мой класс RunCucumberTest с параметрами тегов, например «@ test1», Если я установлю все три флажка, я хочу, чтобы теги были "@ test1 или @ test2 или @ test3" и т. Д.

Как я могу это реализовать?

Есть ли другой (лучший?) Способ достижения этой цели?

Огурец Gui. java:

import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;

public class CucumberGui {
    public static void main(String args[]) {
        JFrame frame = new JFrame("Bob");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 250);
        frame.setLayout(null);
        frame.setVisible(true);
        frame.setResizable(false);

        JButton button = new JButton("Run Testcases");
        button.setBounds(10, 10, 260, 30);

        JCheckBox checkBoxTest1 = new JCheckBox("Test 1");
        checkBoxTest1.setMnemonic(KeyEvent.VK_C);
        checkBoxTest1.setSelected(true);
        checkBoxTest1.setBounds(10, 50, 260, 20);

        JCheckBox checkBoxTest2 = new JCheckBox("Test 2");
        checkBoxTest2.setMnemonic(KeyEvent.VK_C);
        checkBoxTest2.setSelected(true);
        checkBoxTest2.setBounds(10, 80, 260, 20);

        JCheckBox checkBoxTest3 = new JCheckBox("Test 3");
        checkBoxTest3.setMnemonic(KeyEvent.VK_C);
        checkBoxTest3.setSelected(true);
        checkBoxTest3.setBounds(10, 110, 260, 20);

        frame.getContentPane().add(button);
        frame.getContentPane().add(checkBoxTest1);
        frame.getContentPane().add(checkBoxTest2);
        frame.getContentPane().add(checkBoxTest3);

        checkBoxTest1.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                System.out.println("click");
            }
        });
    }
}

RunCucumberTest:

import org.junit.runner.RunWith;

import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;

@RunWith(Cucumber.class)
@CucumberOptions(
        plugin = {"pretty", "html:target/cucumber-reports", "json:target/cucumber.json"},
        features = "src/test/resources/features",
        tags = {"@test1"}
        )

public class RunCucumberTest {

}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...