Я пишу автоматические тесты с использованием Java с сеткой Selenium Grid и JUnit, и я столкнулся с проблемой с пользовательским вводом. Так что мой код выглядит следующим образом:Селеновая сетка с Java - пользовательский ввод
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();
}
Я хотел бы добавить пользовательский ввод, поэтому, когда пользователь, например «Google Chrome», тест начнется с Google Chrome, когда он типа «Firefox», то тест будет начинаться с Firefox и т.д. Я попытался поставить
Scanner in = new Scanner(System.in);
String web_browser = in.next();
Somwhere в моем коде (в методе нАлАдкИ, например), но при запуске программы, я не могу ничего в консоли типа. Кто-нибудь знает решение для этого?
Почему именно вы хотите автоматизированный тест, который должен управляться вручную? Если вы просто хотите автоматизировать определенные задачи, вы не должны делать из него единичный тест, просто создайте POJO, в котором будут выполняться задачи, которые вам нужны, и дайте им параметры на основе тех задач, которые вы хотите запустить. – t0mppa
@ t0mppa да, но я хочу запустить те же тесты параллельно с разными браузерами. –
Я все еще думаю, что положить ручную работу посередине - это не тот путь, потому что мы говорим об автоматизированных тестах. Вы можете просто запустить ваш тестовый пакет с несколькими браузерами, не требуя, чтобы вы каким-либо образом взаимодействовали с ним лично. – t0mppa