Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-Page-Factory-Selenium-Cucumber:无法运行测试_Java_Maven_Selenium Webdriver_Cucumber_Page Factory - Fatal编程技术网

Java-Page-Factory-Selenium-Cucumber:无法运行测试

Java-Page-Factory-Selenium-Cucumber:无法运行测试,java,maven,selenium-webdriver,cucumber,page-factory,Java,Maven,Selenium Webdriver,Cucumber,Page Factory,嗨,社区:我对页面工厂有一些问题 java.lang.NullPointerException at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69) at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(Loca

嗨,社区:我对页面工厂有一些问题

java.lang.NullPointerException
    at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)
    at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
    at com.sun.proxy.$Proxy17.sendKeys(Unknown Source)
    at pages.page_First.searchText(page_First.java:29)
    at stepdefs.stepdefs_First.iQueryForCucumberSpringSelenium(stepdefs_First.java:34)
    at ✽.I query for "Cucumber Selenium" cucumber spring selenium(file:src/test/resources/features/first.feature:11)
这里是我的特色:

Feature: Navigation Test

    Scenario Outline: Search google.com to verify google search is working

        Given I go to Google
        When I query for "<search>" cucumber spring selenium
        And click search
        Then google page title should become the first page

        Examples:
        | search            |
        | Cucumber Selenium |
页面工厂类:

public class page_First extends BasePage {


    public page_First(WebDriver driver) throws IOException {
        PageFactory.initElements(driver, this);
    }


    //////////////////////////////////////////////WEB ELEMENTS//////////////////////////////////////////////////////////

    @FindBy(name = "q")
    private WebElement searchText;

    @FindBy(name="btnK")
    private WebElement searchButton;

    //////////////////////////////////////////////BASE METHODS//////////////////////////////////////////////////////////

    public void searchText(String search)  {

        searchText.sendKeys(search);
    }

    public void enterButton (){

        clickElement(searchButton);
    }
}
和我的步骤定义类:

public class stepdefs_First {

    private WebDriver driver;

    private page_First page_first = PageFactory.initElements(driver, page_First.class);

    public stepdefs_First() throws IOException {
    }


    @Given("I go to Google")
    public void iGoToGoogle() {

        System.out.println("navigating through Googl");
    }

    @When("I query for {string} cucumber spring selenium")
    public void iQueryForCucumberSpringSelenium(String search) throws Exception {

        page_first.searchText(search);
    }

    @And("click search")
    public void clickSearch() {

        page_first.enterButton();

    }

    @Then("google page title should become the first page")
    public void googlePageTitleShouldBecomeTheFirstPage() {

        System.out.println("All OK");
    }
}
浏览器未打开,并且首先在页面中遇到问题。searchText(搜索)

我从Maven(bonygarcia)中的WebDriverManager依赖项获取浏览器,从config.properties获取浏览器、url和操作系统


如果有人能帮我,请。提前感谢

似乎
搜索
参数与任何参数都不匹配,并演变为null。 你能试试吗

    @When("I query for \"([^\"]*)\" cucumber spring selenium")
而不是

    @When("I query for {string} cucumber spring selenium")

你在任何地方调用了
initialization()
方法了吗?不,我不知道怎么做。在这个问题上你还需要帮助吗?是的Fenio:我仍然需要帮助。为了帮助你,我还需要
BasePage.java
的源代码,以及你使用的cucumber版本?此外,我们可以在这里聊天,也可以通过电子邮件(在我的个人资料中)与我联系。
    @When("I query for {string} cucumber spring selenium")