Selenium - Cucument JUnit Test Runner - не получает аннотацию

Я новичок в Selenium Cucumber, пытаюсь настроить базовую JVM Selenium Cucumber с помощью Eclipse, но когда я запускаю Testrunner как JUnit, аннотации отсутствуют, и мне нужно вручную добавить шаги теста в определение шага. Ниже приведен мой тестовый бегун Feature и JUnit.

Feature: Gmail Login
@Scenario1
Scenario: User logs into GMail
Given Open Browser 
When Enter gmail link
Then Enter login details

TestRunner.java

package cucumberTest;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(features = "C:\\XXXX-PATH\\Feature"
    ,glue={"stepDefinition"},
        tags={"@Scenario1"},
        monochrome=true
        )
public class TestRunner {

}

Когда я выполняю TestRunner.java как JUnit, во фрагменте отсутствует аннотация, поэтому определение шага необходимо написать вручную. 1 сценарий (1 не определено) 4 шага (4 не определено) Вы можете реализовать отсутствующие шаги с помощью приведенных ниже фрагментов:

Given("^Open Browser$", () -> {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
});

When("^Enter gmail link$", () -> {
// Write code here that turns the phrase above into concrete actions
throw new PendingException();
});

Кто-нибудь может мне помочь

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cucmber_test</groupId>
    <artifactId>cucmber_test</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <fork>true</fork>
                 <executable>C:\Program Files\Java\jdk1.8.0_111\bin\javac.exe</executable>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-junit</artifactId>
    <version>1.2.3</version>
    <scope>test</scope>
</dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-junit</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
<dependency> 
   <groupId>org.seleniumhq.selenium</groupId> 
   <artifactId>selenium-java</artifactId> 
   <version>2.47.1</version> 
</dependency>
    </dependencies>
</project>

person Gayathri    schedule 30.05.2017    source источник
comment
Итак, какова актуальная/реальная проблема/ошибка/трудность, с которой вы столкнулись? annotations из JUnit заменены описанием функции в файле feature в Cucumber. Спасибо   -  person DebanjanB    schedule 30.05.2017
comment
вам нужно определить методы @given и @when в вашем файле класса stepDefinition; скопировав точный синтаксис, как было предложено   -  person Kushal    schedule 30.05.2017
comment
Спасибо за ответ, я не получаю точный синтаксис, предложенный в testrunner, @given не создается, создается только данный, поэтому мне нужно вручную добавить синтаксис @ в StepDefinition. Думаю, мне не хватает какой-либо версии   -  person Gayathri    schedule 30.05.2017
comment
В моем файле функций я добавил аннотации, @ но при выполнении тестов я не получаю точный синтаксис, как это предлагается в testrunner, @ отсутствует, @given не создается, создается только заданный, поэтому мне нужно вручную добавить синтаксис @ в Определение шага.   -  person Gayathri    schedule 30.05.2017


Ответы (1)


Это может быть связано с тем, что вы используете определение шага в стиле лямбда Java 8. В определении шага в стиле Java 8 символ @ не нужен. Также это не проблема. Вы можете запустить скрипт, и это не повлияет на выполнение. Перейдите по ссылке https://cucumber.io/docs/reference/jvm для получения более подробной информации. .

person Murthi    schedule 30.05.2017