所以我有这段代码:
package pages;
import org.openqa.selenium.WebDriver;
public class HomePage extends SiselPage {
public HomePage(WebDriver driver) {
super(driver);
driver.get("http://example.com");
}
this.pageTitle = "Site";
}
对我来说这看起来很好,但它不会编译。它给了我两个语法错误,一个在第9行,一个在第12行。第9行说"令牌上的语法错误'}',{在此令牌之后预期"第12行说"语法错误,插入'}'完成ClassBody。我尝试过从头开始重写课程,但是没有用。 但是,这会编译:
package pages;
import org.openqa.selenium.WebDriver;
public class HomePage extends SiselPage {
public HomePage(WebDriver driver) {
super(driver);
driver.get("http://example.com");
}{
this.pageTitle = "Site";
}}
所以我只是使用它或什么?这对我来说似乎很奇怪。我所有其他类的格式都是这样的,它们都可以工作。我正在使用eclipse。 谢谢!
答案 0 :(得分:3)
this.pageTitle = "Site";
此语句需要是可执行块(构造函数,方法,静态初始化程序块)的一部分
在第二种情况下,你有初始化程序块,它类似于静态初始化程序块,但没有静态关键字,它是成员字段初始化程序
答案 1 :(得分:1)
您的代码按结构化方式将this.pageTitle = "Site";
放在方法正文和类正文中。而是在方法体内移动它或将其更改为字段。该解决方案记录如下:
public class HomePage extends SiselPage { public HomePage(WebDriver driver) { super(driver); driver.get("http://example.com"); this.pageTitle = "Site"; } }
答案 2 :(得分:0)
this.pageTitle = "Site";
必须在构造函数或方法中。