Picocontainer未与步骤文件共享数据,我的测试被跳过

时间:2020-01-01 14:59:34

标签: bdd picocontainer

我的问题与picocontainer有关,我在执行测试运行程序时无法弄清楚我在做什么,但我找不到任何情况或步骤。但是,当我执行旧文件时,测试可以正常运行,但不能有picocontainer参考。 我的项目包含以下文件 1)1步定义 2)功能文件 2)亚军文件 4)测试上下文(共享状态文件,在这里我提到了webdriver和页面对象元素)

POM文件

<dependencies>
 <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>4.12</version>
     <scope>test</scope>
 </dependency>
     <dependency>
     <groupId>org.seleniumhq.selenium</groupId>
     <artifactId>selenium-java</artifactId>
     <version>3.141.5</version>
 </dependency>
 <dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>4.8.0</version>
</dependency>
  <dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>4.8.0</version>
    <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-jvm-deps -->
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-jvm-deps</artifactId>
    <version>1.0.6</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>io.cucumber</groupId>
    <artifactId>cucumber-picocontainer</artifactId>
    <version>4.8.0</version>
</dependency>

功能文件 功能:自动化的End2End测试 说明:此功能的目的是测试End 2 End集成。

场景:客户通过从搜索中购买商品来下订单 给定用户位于主页上 当他搜索“礼服”时 并选择第一次购买 并从迷你购物车转到结帐 然后在结帐页面上输入个人详细信息并下订单

步骤定义

package stepDefinitions;



import cucumber.TestContext;

import io.cucumber.java.en.Given;
import io.cucumber.java.en.When;

import pageObjects.HomePage;

public class HomePageSteps {

     TestContext testContext;
     HomePage homePage;

     public HomePageSteps(TestContext context) {
     this.testContext = context;
     homePage = testContext.getPageObjectManager().getHomePage();
     }

     @Given("^user is on Home Page$")
     public void user_is_on_Home_Page(){
     homePage.navigateTo_HomePage(); 
     }

     @When("^he search for \"([^\"]*)\"$")
     public void he_search_for(String product)  {
     homePage.perform_Search(product);
     }

    }

运行器文件

package runners;

import org.junit.runner.RunWith;

import io.cucumber.junit.Cucumber;
import io.cucumber.junit.CucumberOptions;



//import cucumber.api.java.ObjectFactory;T

@RunWith(Cucumber.class)
@CucumberOptions(
    //  junit = "--step-notifications",
        features = "src/test/resources/functionalTests",
        glue= {"stepDefinitions"})



public class TestRunner {


}

测试环境

package cucumber;

import managers.PageObjectManager;
import managers.WebDriverManager;

public class TestContext {
     private WebDriverManager webDriverManager;
     private PageObjectManager pageObjectManager;

     public TestContext(){
     webDriverManager = new WebDriverManager();
     pageObjectManager = new PageObjectManager(webDriverManager.getDriver());
     }

     public WebDriverManager getWebDriverManager() {
     return webDriverManager;
     }

     public PageObjectManager getPageObjectManager() {
     return pageObjectManager;
     }

    }

0 个答案:

没有答案