Ich schreibe automatische Tests mit Java mit Selenium Grid und JUnit Framework und ich habe ein Problem mit Benutzereingaben festgestellt. So sieht mein Code wie folgt aus:Selen Gitter mit Java - Benutzereingabe
package com.example.tests;
import com.thoughtworks.selenium.DefaultSelenium;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.Scanner;
import static org.junit.Assert.fail;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertTrue;
public class test {
private DefaultSelenium selenium;
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 5555, "*googlechrome", "www.google.com");
selenium.start();
}
@Test
public void Test() throws Exception {
// some tests here
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
Ich möchte eine Benutzereingabe hinzufügen, so dass, wenn Benutzertypen zum Beispiel „Google Chrome“, der Test mit Google Chrome starten, wenn er Typen „Firefox“, der Test mit Firefox starten usw. ich habe versucht
Scanner in = new Scanner(System.in);
String web_browser = in.next();
somwhere in meinem Code zu setzen (in setUp Verfahren zum Beispiel), aber wenn das Programm gestartet wird, kann ich nicht alles in der Konsole eingeben. Kennt jemand die Lösung dafür?
Warum genau einstellen würden Sie einen automatisierten Test möchten, die manuell gesteuert werden muss? Wenn Sie nur bestimmte Aufgaben automatisieren möchten, sollten Sie keinen Komponententest durchführen. Erstellen Sie einfach ein POJO, das die von Ihnen benötigten Aufgaben ausführt, und geben Sie Parameter basierend auf den Aufgaben an, die Sie ausführen möchten. – t0mppa
@ t0mppa Ja, aber ich möchte den gleichen Test parallel mit verschiedenen Browsern laufen –
Ich denke immer noch, dass manuelle Arbeit in der Mitte ist der falsche Weg zu gehen, da wir über automatisierte Tests sprechen. Sie könnten Ihre Testsuite einfach mehrere Browser starten lassen, ohne dass Sie in irgendeiner Weise persönlich damit interagieren müssen. – t0mppa