首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fluentlenium和cucumber测试未开始

Fluentlenium和cucumber测试未开始
EN

Stack Overflow用户
提问于 2017-07-27 20:27:07
回答 2查看 537关注 0票数 0

我有一个黄瓜和fluentlenium项目,当我运行CucumberRunner时,它不会启动。它只是跳过了所有的测试,.I试图在互联网上找到解决方案,但到目前为止还没有解决问题。一点帮助就好了。

以下是我的步骤:

代码语言:javascript
复制
public class LoginPageSteps extends BaseTest {

public LoginPageSteps() throws Exception {
    super();
}

@Page
LoginPage loginPage;


@Given("^I am on login page$")
public void goToLoginPage(){
    goTo(loginPage);
}

@When("^I enter username as '(.*?)'$")
public void enterUsername(String username) {
    waitAndFill(loginPage.username, username);
}

@And("^I enter password as '(.*?)'$")
public void enterPassword(String password)  {

    waitAndFill(loginPage.password, password);
    waitUntilCliclableAndClick(loginPage.loginButton);

}

@Then("^Login should be succesfull$")
public void checkLoginStatus()  {
    assertTrue(getDriver().getCurrentUrl().contains("login_attempt=1"));

}
}

这是我的BaseTest.class:

代码语言:javascript
复制
  public class BaseTest extends FluentCucumberTest {

@Page
AccountPage accountPage;


@Before
public void before(Scenario scenario) {
    super.before(scenario);
}

@After
public void after(Scenario scenario) {
    super.after(scenario);
}

@Override
public WebDriver newWebDriver() {

    System.setProperty("webdriver.gecko.driver", "../cucumber-test/src/test/resources/geckodriver.exe");
    FirefoxDriver driver = new FirefoxDriver();

    return driver;
}

public void waitUntilCliclableAndClick(FluentWebElement element) {
    await().atMost(5, TimeUnit.SECONDS).until(element).clickable();
    element.click();
}

public void waitAndFill(FluentWebElement element, String data) {
    await().atMost(5, TimeUnit.SECONDS).until(element).displayed();
    element.fill().with(data);
}



}

这是我的功能文件:

代码语言:javascript
复制
   Feature: valid-login 

Scenario: 
   Given I am on login page 
   When I enter username as "myusername"
   And I enter password as "mypassword" 
   Then Login should be succesfull 

这就是跑步者:

代码语言:javascript
复制
@RunWith(Cucumber.class) 
@CucumberOptions(features={"src/test/resources/features"})
public class CucumberRunner {

}
EN

回答 2

Stack Overflow用户

发布于 2017-07-29 21:55:00

你的黄瓜跑步者叫做CucumberRunner

如果您使用Maven构建,这可能是一个问题。Maven中的testrunner Surefire搜索名为XXXXTestTestXXXX的类。将找不到您的runner类。

尝试将您的Cucumber runner重命名为CucumberRunnerTest,看看它是否解决了问题。

票数 1
EN

Stack Overflow用户

发布于 2017-07-27 21:48:34

我找到了这个example project,它可能对你有帮助。

虽然我已经克隆/运行了这个示例项目,但cucumber版本很旧,需要更新。

以下是我为使该项目正常工作所做的工作:

已将fluentlenium-cucumberfluentlenium-assertj3.3.0cucumber-corecucumber-junitcucumber-javacucumber-picocontainer1.2.5以及junithtmlunit-driver更新到pom.xml中的最新版本。

Step文件如下所示:

代码语言:javascript
复制
import cucumber.api.Scenario;
import cucumber.api.java.After;
import cucumber.api.java.Before;
import cucumber.api.java.en.Given;
import org.fluentlenium.adapter.cucumber.FluentCucumberTest;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
import static org.assertj.core.api.Assertions.assertThat;

import java.util.concurrent.TimeUnit;

public class BasicStep extends FluentCucumberTest {

    @Before
    public void before(Scenario scenario) {

    }

    @Override
    public WebDriver newWebDriver() {
        System.setProperty("webdriver.gecko.driver", "path/to/geckodriver");
        WebDriver driver = new FirefoxDriver();
        return driver;
    }

    @Given("I open Google")
    public void iOpenGoogle() {
        this.initFluent(new newWebDriver());
        goTo("http://google.com");

        await().atMost(5, TimeUnit.SECONDS);
        assertThat(window().title()).contains("Google");
    }

    @After
    public void after(Scenario scenario){
        super.after(scenario);
    }
  }

和测试文件:

代码语言:javascript
复制
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
@CucumberOptions(features = "src/test/resources/toto")

public class BasicTest {

}

新的测试结果:

希望你能让它工作起来!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45350815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档