Я новичок в огурце, и хотя я могу запускать свои тесты с помощью класса 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 {
}