我是硒的新手。试图使用testNG框架。但收到以下错误。我正在尝试一个简单的代码。请帮帮我。我正在尝试运行以下代码:
package testng_project;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.Assert;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class Sample {
// declaration and instantiation of objects/variables
String key= "webdriver.gecko.driver";
String value= "C:\\geckodriver-v0.10.0-win64\\geckodriver.exe";
System.setProperty(String key,String value);
//public static String setProperty(String key,String value);
WebDriver driver = new FirefoxDriver();
String baseUrl = "http://newtours.demoaut.com";
@Test
public void verifyhomepage_title()
{
driver.get(baseUrl);
String expectedtitle = "Welcome: Mercury Tours";
String actualtitle=driver.getTitle();
Assert.assertEquals(actualtitle,expectedtitle);
driver.quit();
}
}
运行代码时出现编译错误。请找到以下错误:
引起:java.lang.Error:未解决的编译问题: 令牌“setProperty”上的语法错误,此令牌后预期的标识符 缺少方法的返回类型 此方法需要正文而不是分号
at testng_project.Sample.<init>(Sample.`enter code here`java:15)
... 27 more
让我知道如何解决错误。
感谢。
答案 0 :(得分:2)
我在调用System.setProperty()
时发现了两个问题:
对于第1项,我不知道TestNG,所以我不确定,但我相信你能做到:
@BeforeTest
public void setup() {
System.setProperty(key, value);
}
如果我在这里不完全正确,请有人纠正我。
对于第2项。方法的声明和对它的调用在某些方面(有目的)是相似的,在某些方面是不同的(因为声明和调用是两个不同的东西)。因此,如果您阅读System.setProperty()
的声明,例如在文档中,那么您说setProperty(String key, String value)
是正确的。在声明中,您需要提供参数的类型。
在调用中,Java已经知道您提供的参数的类型,因此它不允许您重复这些参数。查看您对driver.get()
的来电,这是正确的。您已将baseUrl
声明为String
,因此您不会在通话中重复此操作。同样,请勿在致电String
时重复System.setProperty()
字样。只是做:
System.setProperty(key, value);
这应该有用。
答案 1 :(得分:0)
将System.setProperty
放入方法中。所有这一切都要求它需要在括号中,方法!可能是你用来启动测试的@BeforeSuite方法!
答案 2 :(得分:0)
将System.setProperty()
放在:
public static void main(String[] args)
那就可以了!
答案 3 :(得分:0)
希望以下方法可行。
public class Sample {
//declaration and instantiation of objects/variables
String key = "webdriver.gecko.driver";
String value = "C:\\geckodriver-v0.10.0-win64\\geckodriver.exe";
WebDriver driver = new FirefoxDriver();
String baseUrl = "http://newtours.demoaut.com";
@BeforeSuite
public void setUp() {
System.setProperty(key,value);
driver = new FirefoxDriver();
}
@Test
public void verifyhomepage_title(){
driver.get(baseUrl);
String expectedtitle = "Welcome: Mercury Tours";
String actualtitle = driver.getTitle();
Assert.assertEquals(actualtitle,expectedtitle);
driver.quit();
}
}