java - 如何通过命令行启动 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();
}
解决方案
您是否尝试使用外部 jar 运行 java 文件?如果是的话,也许这会有所帮助。
首先,转到您的目录:
cd project
MacBook-Pro: project$
其次,运行此命令:
java -cp .:yourFullPathExternalJar\*: src.test.java.project_test.Tests
希望这可以帮助
推荐阅读
- python - 标记与单词相邻的表情符号
- java - SSL_ERROR_RX_RECORD_TOO_LONG 与自定义服务器
- python - 运算符分配的列表列表不能引用特定的列表元素
- javascript - 使用来自 js ajax 的参数调用 c# 方法
- c# - Unity c#使用其他脚本中的变量不起作用
- antd - 如何在使用带有 ant design Form.Item 的谷歌地图时设置表单值?
- java - 如何设置每秒重复计数?
- php - 删除 php 扩展名和索引 (.htaccess)
- regex - 确定字符串是否包含重复的单词
- powershell - CMake 使用批处理脚本从文件夹中收集源代码(没有 GLOB)