Java 如何在junit中通过命令行参数传递主机名、用户名和密码?

Java 如何在junit中通过命令行参数传递主机名、用户名和密码?,java,selenium,junit,jar,command-line-arguments,Java,Selenium,Junit,Jar,Command Line Arguments,我不想使用system.getproperty或setproperty。我有一个获取URL的before方法 @Before public void setUp( String baseUrl){ driver = new FirefoxDriver(); driver.get(baseUrl); } @test public void logIn(){ driver.findElement(By.id("username")).sendKeys("admin");

我不想使用system.getproperty或setproperty。我有一个获取URL的before方法

@Before
public void setUp( String baseUrl){
    driver = new FirefoxDriver();
    driver.get(baseUrl);
}

@test
public void logIn(){ 
    driver.findElement(By.id("username")).sendKeys("admin");
    driver.findElement(By.id("password")).sendKeys("xxx");
}
当我通过以下方式调用上述Junit测试用例时:

D:\>java -cp D:\Jars\hamcrest-core-1.1.jar;D:\Jars\junit-4.11.jar;D:\Jars\POC_PR
OJECT.jar;D:\Jars\selenium-java-2.31.0.jar;D:\Jars\selenium-server-standalone-2.
31.0.jar **-Dbaseurl="https://gmail.com/"** org.junit.runner.JUnitCore POC.LogInTest 
浏览器打开,但没有打开URL,并说1)
logIn(POC.LogInTest)失败
java.lang.NullPointerException:条目中的null值:url=null..
我也尝试在
@test
中编写URL,但没有用。

有人能告诉我命令行如何在junit中知道-DbaseUrl应该如何链接到
@test
@之前的
@中提到的baseUrl吗。。
简单地说,如何通过cmd行将url值传递给junit代码。


Thx提前一吨..

AFAIK您不能将baseUrl参数与通过框架本身在命令行中传递的参数相链接

您可以做的事情是编写自定义AOP,它将通过
System.getProperty(“baseUrl”)
拦截
setUp(String baseUrl)
read
baseUrl
的调用,并将其作为参数传递给方法。但是值得吗