【发布时间】:2015-10-26 09:31:19
【问题描述】:
我是java初学者。请在下面的代码中帮助我,
@Test(priority=1)
public void signup(String emailvalue) {
System.out.println("Page Title: " +driver.getTitle());
driver.findElement(By.id("proprietorName")).sendKeys("Im Owner");
driver.findElement(By.id("businessName")).sendKeys("Pharmacy By Selenium");
driver.findElement(By.id("proprietorMobileNo")).sendKeys("1236547890");
driver.findElement(By.id("website")).sendKeys("http://www.google.com");
driver.findElement(By.id("businessUserEmail")).sendKeys("emailvalue");
driver.findElement(By.id("businessUserPassword")).sendKeys("123456");
driver.findElement(By.id("confirmpass")).sendKeys("123456");
driver.findElement(By.xpath("//div[@class='col-md-12 mgbt-xs-10 mgtp-20']//div[@class='vd_checkbox']//label[@for='checkbox-2']")).click();
driver.findElement(By.id("submit-register")).click();
try
{
if(driver.findElement(By.xpath("//div[@class='alert alert-danger vd_hidden']")).isDisplayed())
{
driver.findElement(By.id("businessUserEmail")).clear();
driver.findElement(By.id("businessUserEmail")).sendKeys("emailvalue");
driver.findElement(By.id("submit-register")).click();
}
}
catch(NoSuchElementException e)
{
System.out.println("Given inputs are accepted.");
}
switch(emailvalue)
{
case "0":
emailvalue = "daniel@xxxx.in";
break;
case "1":
emailvalue = "daniel1@xxxx.in";
break;
case "2":
emailvalue = "daniel2@xxxx.in";
break;
case "3":
emailvalue = "daniel3@xxxx.in";
break;
case "4":
emailvalue = "daniel4@xxxx.in";
break;
case "5":
emailvalue = "daniel5@xxxx.in";
break;
}
}
}
当我执行上面的代码时,我得到了以下错误,
Method signup requires 1 parameters but 0 were supplied in the @Test annotation.
at org.testng.internal.Parameters.checkParameterTypes(Parameters.java:198)
at org.testng.internal.Parameters.createParameters(Parameters.java:134)
at org.testng.internal.Parameters.createParameters(Parameters.java:373)
at org.testng.internal.Parameters.handleParameters(Parameters.java:450)
at org.testng.internal.Invoker.handleParameters(Invoker.java:1383)
at org.testng.internal.Invoker.createParameters(Invoker.java:1075)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1180)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
【问题讨论】:
-
你在哪里调用了这个方法?可能是你没有提供论点..
-
没有..请帮我纠正这个..
-
您真的需要优先级=1 的
@Test(priority=1)吗?如果不尝试删除 (priority=1) 并让@Test -
您必须在某处调用它并传递参数,或者使用数据提供程序或参数化的 testng.xml 为该方法提供参数。你是怎么运行这个的?
-
@bryce,我已经通过删除“优先级”执行了,但仍然是同样的错误。
标签: java class methods parameters testng