Не могу запустить testng.xml в Cucumber-Maven (TestNG) - PullRequest
0 голосов
/ 28 декабря 2018

В Eclipse IDE я создал базовый фреймворк для огурцов с помощью проекта Maven.

Я добавил все зависимости, требуемые в pom.xml. Для плагина TestNG добавлены следующие зависимости.

 <dependency>       
      <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>              
        <version>6.14.3</version>
        <scope>test</scope>         
</dependency> 
<dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-testng</artifactId>
        <version>1.2.5</version>   
 </dependency>

Но опция TestNG Suite не входила в настройки, поэтому TestNG устанавливался через Справка-> Установить новое программное обеспечение.

В фреймворке есть файл функций (описан сценарий), определения шагов (дан код / ​​логика)и класс бегуна (для сопоставления объекта с файлом stepdefinitions и его запуска).

Класс бегуна:

package tests.report.runners;

import cucumber.api.CucumberOptions;


@CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= {"@Report"})
public class ReportRunner  {
    }

Как и у меня, для каждого модуля есть один класс бегуна (Сквозной сценарий)

Пример:

  • Войдите, перейдите на страницу продукта и выйдите из системы

  • Вход в систему, создание отчета и выход из системы

Я пытаюсь запустить этот класс бегуна с помощью файла testng.xml

testng.xml file

 <?xml version="1.0" encoding="UTF-8"?> 
 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
   <suite name="First Suite" parallel="classes"> 
    <test name="Chrome Test" parallel="classes">
       <classes> 
           <class name ="tests.report.runners.ReportRunner"></class>
       </classes> 
   </test> 
</suite>

Но его бросок ниже ошибки

Output screen shot

1 Ответ

0 голосов
/ 30 декабря 2018

Проблема возникла из-за несовместимых мусорных jar-файлов, хранящихся в репозиториях maven.

Пожалуйста, следуйте приведенным ниже шагам

  1. Очистите старые свойства / зависимости maven (откройте командную строку из каталога вашего проекта и запуститеследующие команды)
    • mvn eclipse: clean
    • mvn eclipse: eclipse -Dwtpversion = 2.0
  2. Загрузите ниже файлы jar огурцов и добавьте вваш проект (не добавляйте его в pom напрямую)

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>1.2.5</version>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>1.2.5</version>
    </dependency
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-jvm-deps</artifactId>
        <version>1.0.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>gherkin</artifactId>
        <version>2.12.2</version>
        <scope>provided</scope>
    </dependency>
    
  3. Убедитесь, что у вас уже есть библиотека TestNG в проекте

  4. Добавитьниже зависимости cucumber-testng в файле pom.xml

    <dependency>
       <groupId>info.cukes</groupId>
       <artifactId>cucumber-testng</artifactId>
       <version>1.2.5</version>
    </dependency>
    
  5. Расширить класс бегуна с помощью AbstractTestNGCucumberTests

  package tests.report.runners;
  import org.testng.annotations.Test;
  import cucumber.api.testng.AbstractTestNGCucumberTests;
  import cucumber.api.CucumberOptions;
  @Test
  @CucumberOptions(features = "src/test/resources/features",glue= {"tests"},tags= 
  {"@Report"})
  public class ReportRunner extends AbstractTestNGCucumberTests {
  }
Выполнить с файлом ниже testng.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="First Suite" >
<test name="Chrome Test" >
<classes>
<class name ="tests.report.runners.ReportRunner"></class>
</classes> 
</test>
</suite>

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...