Потратили более 8 часов, пытаясь решить эту проблему с нулевым успехом. Я хочу запускать и останавливать рабочий стол докера программно. Я знаю, что это возможно как пользователь окна , но я не могу найти, как это сделать с операционной системой Mac (я проверил) . Я нашел что-то, что могло бы работать, но там я являюсь элементами Java-кода с Selenium Grid, я не понимаю. С моей стороны, как новичка, это может быть невежеством, но я просто хочу это исправить, так как уверен, что все просто.
Я все равно решил запустить код, потому что смог бы найти решение, если бы понял сообщение об ошибке. ,Я запустил код, который не удалось, но я не получил сообщение об ошибке.
Я новичок в Selenium Grid с Java, поэтому любые отзывы будут оценены.
это кусок кода, с которым у меня проблема.
Кажется, user.dir означает какой-то каталог пользователя? Но о каком каталоге они конкретно говорят? Понятия не имею.
Сначала я покажу фрагмент, а затем полный код.
public class TestBase {
private static final String SETUP_DOCKER_SCRIPT_FILE = System.getProperty("user.dir") + "/dockerup.sh";
private static final String SCALE_CHROME_FILE = System.getProperty("user.dir") + "/docker_scale.sh";
private static final String TEAR_DOWN_SCRIPT_FILE = System.getProperty("user.dir") + "/dockerdown.sh";
private static final String EXPECTED_MESSAGE = "The node is registered to the hub and ready to use";
public static ThreadLocal<RemoteWebDriver> remoteWebDriver = new ThreadLocal<RemoteWebDriver>();
Вот полный код:
package remoteTesting.dockerValidation1;
import static utils.StartStopDockerContainer.execute;//this is a imported file from the utils package
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeSuite;
public class TestBase {
private static final String SETUP_DOCKER_SCRIPT_FILE = System.getProperty("user.dir") + "/dockerup.sh";
private static final String SCALE_CHROME_FILE = System.getProperty("user.dir") + "/docker_scale.sh";
private static final String TEAR_DOWN_SCRIPT_FILE = System.getProperty("user.dir") + "/dockerdown.sh";
private static final String EXPECTED_MESSAGE = "The node is registered to the hub and ready to use";
public static ThreadLocal<RemoteWebDriver> remoteWebDriver = new ThreadLocal<RemoteWebDriver>();
@BeforeSuite
public void setUp() {
execute(SETUP_DOCKER_SCRIPT_FILE, EXPECTED_MESSAGE);
execute(SCALE_CHROME_FILE, true);
}
@BeforeClass
public void beforeTest() throws Exception {
URL url = new URL("http://localhost:4444/wd/hub");
DesiredCapabilities desiredCapabilities = DesiredCapabilities.chrome();
remoteWebDriver.set(new RemoteWebDriver(url, desiredCapabilities));
}
@AfterClass
public void tearDown() {
remoteWebDriver.get().close();
}
@AfterSuite
public void afterTest() {
execute(TEAR_DOWN_SCRIPT_FILE, true);
}
}