Java 如何在eclipse中执行页面对象程序?

Java 如何在eclipse中执行页面对象程序?,java,eclipse,selenium,Java,Eclipse,Selenium,我基本上是在尝试用Selenium在java中运行一个示例页面对象框架。我已经尝试运行一些网站和论坛提供的一些示例类。但出于某种原因,它似乎不起作用。我不知道我是否遗漏了什么。请帮忙。多谢各位 我试过这些例子- 上面是我正在使用的page factory类 下面是页面对象 package google; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; //

我基本上是在尝试用Selenium在java中运行一个示例页面对象框架。我已经尝试运行一些网站和论坛提供的一些示例类。但出于某种原因,它似乎不起作用。我不知道我是否遗漏了什么。请帮忙。多谢各位

我试过这些例子-

上面是我正在使用的page factory类

下面是页面对象

    package google;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    //import org.openqa.selenium.firefox.FirefoxDriver;



    public class GoogleSearchPage {

protected WebDriver driver;

private WebElement q;   

private WebElement btnG;

public GoogleSearchPage(WebDriver driver) {
    this.driver = driver;
}

public void open(String url) {
    driver.get(url);
}

public void close() {
    driver.quit();
}

public String getTitle() {
    return driver.getTitle();
}

public void searchFor(String searchTerm) {
    q.sendKeys(searchTerm);
    btnG.click();
}

public void typeSearchTerm(String searchTerm) {
    q.sendKeys(searchTerm);
}

public void clickOnSearch() {
    btnG.click();
}
    }
堆栈跟踪显示
失败:当您搜索CatsResultpGetTitleShouldContacts时,安装TestNG测试框架以自动生成报告,因为您的Web元素没有被任何选择器绑定,所以
页面工厂失败。(它不知道如何找到这些)

在每个web元素之前添加
@FindBy
注释。e、 g

@FindBy(css = "[name='q']") public WebElement q;
@Findby(css = "[name='btnG]") public WebElement btnG;

您将在
@Findby
下面得到红色下划线。只需按Ctrl+Shift+O键将其导入即可。

这是非常不具体的。请告诉我们什么失败了。有堆栈跟踪吗?我已经添加了我正在使用的代码段。
g
btnG
在哪里初始化?'q'和'btnG',它们分别是来自谷歌主页的文本框和搜索按钮的名称,它们是我知道的在这里使用的web元素。请看sircapsalots的回答,了解我为什么问……嘿,Jaydev,请把你的整个堆栈跟踪放在帖子里。如果这不起作用,很难解释出什么地方出了问题。
@FindBy(css = "[name='q']") public WebElement q;
@Findby(css = "[name='btnG]") public WebElement btnG;