首页 > 解决方案 > 如何通过命令行启动 selenium

问题描述

我想在我的 mac 上启动 selenium 代码。

使用 IntelliJ,我可以通过界面启动每个测试(感谢左侧的绿色按钮)。

我现在需要通过 cli 启动 selenium,我该怎么做?

我的文件夹结构:/project/src/test/java/project_test/Tests.java

(我现在正在尝试这个:https ://docs.seleniumhq.org/selenium-ide/docs/en/introduction/command-line-runner/ ,但是因为我的函数中有我的驱动程序,所以我不知道如果它会工作,我会告诉你)

我的测试的一个例子:

 public void TestA() throws InterruptedException, MessagingException {
    String nameError = "TestA";
    System.setProperty("webdriver.chrome.driver", locateDriver);
    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    driver.manage().deleteAllCookies();
    driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
    driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS);

    driver.navigate().to(url + "route");
    Thread.sleep(3000);
    driver.findElement(By.cssSelector(".primary > a[href=\""+url+"connexion/connexion/index/\"]")).click();
    driver.findElement(By.id("login-client")).sendKeys("40003099");
    driver.findElement(By.id("login-cp")).sendKeys("281101");
    driver.findElement(By.xpath("//button[contains(text(),'Connexion')]")).click();
    Thread.sleep(5000);

    WebElement strvalue = driver.findElement(By.xpath("//*[@id=\"maincontent\"]/div[1]/div[2]/div/div/div"));
    Thread.sleep(3000);
    String expected = "some text";
    String actual = strvalue.getText();
    System.out.println(actual);
    if(expected.equals(actual)){
        System.out.println("Ok");
    }
    else {
        System.out.println("Not ok");
        sendMail(nameError);
    }
    Thread.sleep(5000);
    driver.close();
}

标签: javaseleniumcommand-line-interface

解决方案


您是否尝试使用外部 jar 运行 java 文件?如果是的话,也许这会有所帮助。

首先,转到您的目录:

cd project

MacBook-Pro: project$ 

其次,运行此命令:

java -cp .:yourFullPathExternalJar\*: src.test.java.project_test.Tests

希望这可以帮助


推荐阅读