Maven BUILD SUCCESSFUL, но тесты в Selenium не выполняются

РЕДАКТИРОВАТЬ: я загрузил проект в github для всех, кто хотел бы взглянуть на https://github.com/hfunsh/test-automation.git

Я написал несколько тестов в Selenium с использованием Intellij, сценарии успешно выполняются в среде IDE, но когда я пытаюсь запустить их с консоли, я получаю сообщение «BUILD SUCCESSFUL», но не выполняю тест.

Я могу запускать другие проекты Maven Junit с консоли, поэтому я знаю, что это, скорее всего, проблема с конфигурацией моего файла pom, но я не могу этого понять.

Вот пример одного из имен классов Java (содержащего слово Test)

/Users/ser/IdeaProjects/SeleniunTrainingII/src/test/java/com/selenium/tests/junit/tests/TestLoginAmazon.java

2-е РЕДАКТИРОВАНИЕ: теперь я запустил «mvn clean verify», как было предложено

    INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Selenium tests project 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ selenium-app ---
[INFO] 
[INFO] --- maven-failsafe-plugin:2.18.1:integration-test (default) @ selenium-app ---
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-descriptor/2.2.1/maven-plugin-descriptor-2.2.1.jar (39 KB at 32.7 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-api/2.2.1/maven-plugin-api-2.2.1.jar (13 KB at 10.2 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.jar
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-settings/2.2.1/maven-settings-2.2.1.jar (48 KB at 40.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact/2.2.1/maven-artifact-2.2.1.jar (79 KB at 64.3 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-project/2.2.1/maven-project-2.2.1.jar (153 KB at 123.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-profile/2.2.1/maven-profile-2.2.1.jar (35 KB at 27.6 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-artifact-manager/2.2.1/maven-artifact-manager-2.2.1.jar (66 KB at 52.7 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-registry/2.2.1/maven-plugin-registry-2.2.1.jar (30 KB at 23.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-model/2.2.1/maven-model-2.2.1.jar (86 KB at 66.2 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-repository-metadata/2.2.1/maven-repository-metadata-2.2.1.jar (26 KB at 19.3 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-plugin-parameter-documenter/2.2.1/maven-plugin-parameter-documenter-2.2.1.jar (22 KB at 16.6 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-error-diagnostics/2.2.1/maven-error-diagnostics-2.2.1.jar (13 KB at 9.6 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-monitor/2.2.1/maven-monitor-2.2.1.jar (11 KB at 7.6 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-toolchain/2.2.1/maven-toolchain-2.2.1.jar (37 KB at 26.9 KB/sec)
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-core/2.2.1/maven-core-2.2.1.jar (174 KB at 126.2 KB/sec)
[INFO] No tests to run.
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent! The file encoding for reports output files should be provided by the POM property ${project.reporting.outputEncoding}.
[INFO] 
[INFO] --- maven-failsafe-plugin:2.18.1:verify (default) @ selenium-app ---
[INFO] No tests to run.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.536 s
[INFO] Finished at: 2016-01-14T10:10:47-05:00
[INFO] Final Memory: 11M/108M

РЕДАКТИРОВАТЬ: теперь я добавил плагины maven surefire и failsafe в свой pom, и он все еще не работает.

Вот как выглядит мой обновленный файл

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.selenium.test</groupId>
  <artifactId>selenium-app</artifactId>
  <packaging>pom</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Selenium tests project</name>
  <description>Web Autotests simple project.</description>
  <url>http://maven.apache.org</url>

  <properties>
    <junit.version>4.11</junit.version>
    <testng.version>6.8.17</testng.version>
    <selenium.version>2.45.0</selenium.version>
    <compiler.version>1.7</compiler.version>
  </properties>


  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>${compiler.version}</source>
          <target>${compiler.version}</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <configuration>
          <systemPropertyVariables>
            <propertyName>firefox</propertyName>
          </systemPropertyVariables>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.18.1</version>
        <executions>
          <execution>
            <configuration>
              <forkCount>3</forkCount>
              <reuseForks>true</reuseForks>
              <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
              <testFailureIgnore>true</testFailureIgnore>
              <includes>
                <includesFile>**/*Test.java</includesFile>
              </includes>
            </configuration>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
    </dependency>
    <dependency>
      <groupId>org.testng</groupId>
      <artifactId>testng</artifactId>
      <version>${testng.version}</version>
    </dependency>
    <dependency>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
      <version>1.4.01</version>
    </dependency>
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>${selenium.version}</version>
    </dependency>
  </dependencies>
</project>

Вот результат моей консоли, а также файл POM после запуска «mvn clean test» с консоли.

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] --------------------------------------------------------------
[INFO] Building Selenium tests project 1.0-SNAPSHOT
[INFO] --------------------------------------------------------------
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ selenium-app 
[INFO] Deleting   /Users/user/IdeaProjects/SeleniumTraining/target
[INFO] BUILD SUCCESS
[INFO] --------------------------------------------------------------    
[INFO] Total time: 0.350 s
[INFO] Finished at: 2016-01-13T17:07:22-05:00
[INFO] Final Memory: 6M/77M
[INFO] ------------------------

И мой пом:

<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.selenium.test</groupId> 
    <artifactId>selenium-app</artifactId> 
    <packaging>pom</packaging> 
    <version>1.0-SNAPSHOT</version>  
    <name>Selenium tests project</name> 
    <description>Web Autotests simple project.</description> 
    <url>http://maven.apache.org</url>  
    <properties> 
        <junit.version>4.12</junit.version> 
        <testng.version>6.8.17</testng.version> 
        <selenium.version>2.45.0</selenium.version> 
        <compiler.version>1.7</compiler.version>
    </properties>  
    <build> 
        <plugins> 
            <plugin> 
                <groupId>org.apache.maven.plugins</groupId> 
                <artifactId>maven-compiler-plugin</artifactId> 
                <version>3.1</version> 
                <configuration> 
                    <source>1.8</source> 
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>  
    <dependencies> 
        <dependency> 
            <groupId>junit</groupId> 
            <artifactId>junit</artifactId> 
            <version>4.12</version>
        </dependency> 
        <dependency> 
            <groupId>org.testng</groupId> 
            <artifactId>testng</artifactId> 
            <version>${testng.version}</version>
        </dependency> 
        <dependency> 
            <groupId>xml-apis</groupId> 
            <artifactId>xml-apis</artifactId> 
            <version>1.4.01</version>
        </dependency> 
        <dependency> 
            <groupId>org.seleniumhq.selenium</groupId> 
            <artifactId>selenium-java</artifactId> 
            <version>2.48.0</version>
        </dependency>
    </dependencies>
</project> 

person HGF    schedule 13.01.2016    source источник
comment
почему вы выполняете команду maven, чтобы получить этот результат? Вы только что выполнили mvn clean?   -  person A_Di-Matteo    schedule 14.01.2016
comment
Я запустил mvn clean test.   -  person HGF    schedule 14.01.2016
comment
в какой папке находятся ваши тесты на селен?   -  person eis    schedule 14.01.2016
comment
Тесты хранятся в / Users / user / IdeaProjects / SeleniumTraining /   -  person HGF    schedule 14.01.2016
comment
@ user2712611, это скорее всего из-за вашей структуры каталогов. Maven использует произвольную структуру каталогов. src / main / java - это ваш основной код java. src / test / java - это ваши тесты. По умолчанию Maven будет читать этот каталог при выполнении теста mvn.   -  person sasankad    schedule 14.01.2016
comment
Спасибо, я в курсе, и все мои тесты хранятся под тестом   -  person HGF    schedule 14.01.2016
comment
Где под тестом? Можете ли вы добавить структуру каталогов к вашему вопросу? Это действительно кажется наиболее вероятной причиной проблемы.   -  person Paul Hicks    schedule 14.01.2016
comment
Разве вы не упускаете определение selenium-maven-plugin? Это официальная документация компании, стоящей за maven, по запуску тестов на селен. с maven.   -  person Hendrik Jander    schedule 14.01.2016
comment
Вам не нужен плагин selenium для запуска тестов. Это просто заботится о настройке сервера Selenium , если вы хотите передать это от средства выполнения тестов. Многие люди предпочитают сохранять это в рамках Java-land и делать это из пакета верхнего уровня @BeforeClass, тестового правила или аналогичного. Использование плагина для этого может быть контрпродуктивным, если вы также хотите запускать тесты непосредственно из определенных IDE.   -  person Paul Hicks    schedule 14.01.2016
comment
@PaulHicks Вот пример одного из файлов /Users/ser/IdeaProjects/SeleniunTrainingII/src/test/java/com/selenium/tests/junit/tests/TestLoginAmazon.java   -  person HGF    schedule 14.01.2016
comment
Выглядит нормально. Предполагая, что файл класса построен в целевом каталоге, это должно быть хорошо. Следующее, на что нужно обратить внимание, - это запустить сервер селена. Ваш тест (или набор, или правило, или ...) запускает подходящий драйвер, например FirefoxDriver?   -  person Paul Hicks    schedule 14.01.2016
comment
Да, я использую Chromedriver и запускаю новый экземпляр с каждым тестом. Тесты работают правильно при выполнении через Intellij IDE. частный драйвер WebDriver; драйвер = новый ChromeDriver ();   -  person HGF    schedule 14.01.2016


Ответы (6)


вам нужно добавить maven-surefire-plugin или maven-failsafe-plugin в свой POM, а затем запустите команду mvn clean test, и тесты должны начаться выполнение

Пример отрывка:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.18.1</version>
                <executions>
                    <execution>
                        <configuration>
                            <forkCount>3</forkCount>
                            <reuseForks>true</reuseForks>
                            <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
                            <testFailureIgnore>true</testFailureIgnore>
                            <includes>
                                <includesFile>**/*Test.java</includesFile>
                            </includes>
                        </configuration>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

РЕДАКТИРОВАТЬ: имя вашего пакета в TestLogin.java было неправильным. РЕДАКТИРОВАТЬ: Также ваша упаковка в POM.xml установлена ​​на pom..Вам нужно установить ее на jar

person Mrunal Gosar    schedule 14.01.2016
comment
Спасибо, я добавил оба плагина, и ни один из них не работал. Я разместил обновленный файл pom в исходном посте - person HGF; 14.01.2016
comment
извинения .. на самом деле я имел в виду, что вам нужно включить любой из них, и кажется, вы не заменили тег include на соответствующее имя файла теста .. также какие цели maven вы выполняете? - person Mrunal Gosar; 14.01.2016
comment
Сначала я добавил каждый плагин по отдельности, прежде чем решил попробовать оба одновременно. Я также убедился, что имя моего файла класса соответствует шаблону в теге include (т.е. заканчивается на Test.java). К сожалению, я ничего не знаю о целях Maven. - person HGF; 14.01.2016
comment
Я попытался выполнить mvn clean test и mvn test. Спасибо - person HGF; 14.01.2016
comment
имя вашего тестового класса - TestLoginAmazon, но ваш шаблон в POM - * Test.java, который не будет соответствовать. также попробуйте mvn clean verify - person Mrunal Gosar; 14.01.2016
comment
Я фактически создал новый проект и файл класса с тех пор, как опубликовал этот комментарий вчера вечером. Я больше не использую этот файл, мой новый файл называется ChromeDriverTest.java - person HGF; 14.01.2016
comment
Я также опубликовал свои результаты запуска mvn clean test ...... особый интерес представляет строка, в которой нет теста для запуска - person HGF; 14.01.2016
comment
хорошо .. сделайте одну вещь, добавьте это в github и поделитесь URL-адресом .. я проверю проект и посмотрю, где что-то пошло не так. - person Mrunal Gosar; 14.01.2016
comment
Я обнаружил здесь одну проблему: проверьте имя пакета в github.com/hfunsh/test-automation/blob/master/ это должен быть com.selenium.tests.junit в отличие от com.selenium.tests.junit.tests - person Mrunal Gosar; 15.01.2016
comment
да, успешно удалось запустить TestLogin после этого изменения - person Mrunal Gosar; 15.01.2016
comment
Ваша упаковка также настроена на pom в POM.xml, установите ее на jar - person Mrunal Gosar; 15.01.2016
comment
Смена имени пакета не сработала, но смена pom на jar сработала. Спасибо большое за вашу помощь! - person HGF; 15.01.2016

Я столкнулся с той же проблемой, но она решена. Шаги, которые я изменил:

Шаг 1: имя нашего Теста должно заканчиваться на «Тест».

Шаг 2: мы должны проверить свойства нашего проекта, которые должны включать M2_REPO

SelectProject в eclipse щелкните правой кнопкой мыши-> Свойства-> Java BuildPath-> Библиотеки

проверьте доступность M2_REPO, если его нет, создайте переменную с этим именем, укажите путь к локальному каталогу m2.

и нажмите «Применить» и «ОК».

проверьте на локальном компьютере папку m2 и вставьте путь сюда.

Шаг 3: щелкните правой кнопкой мыши проект -> Maven-> UpdateProject.

Шаг 4: щелкните правой кнопкой мыши проект-> RunAs-> Maven Test.

person saritha    schedule 08.08.2018

Убедитесь, что ваш тестовый каталог включен в файл pom.xml

<build>
    <testSourceDirectory>your_test_source_directory</testSourceDirectory>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.19.1</version>
        <configuration>
            <testSourceDirectory>${project.build.testSourceDirectory}</testSourceDirectory>                      
            <suiteXmlFiles>
                <suiteXmlFile>testng.xml</suiteXmlFile>
            </suiteXmlFiles> 
            <includes>
            <include>**.java</include>
            </includes>
         </configuration>
     </plugin>
</build>
person shakun tyagi    schedule 24.08.2016

Я новичок в maven и автоматизации, и я столкнулся с той же проблемой. «ИСПЫТАНИЯ» не выполнялись. Однако, чтобы решить эту проблему, вам просто нужно добавить к имени вашего пакета префикс com.packt.

person anonymous    schedule 28.05.2018

Используя командную строку, у меня такая же проблема, то есть только Maven BUILD SUCCESSFUL, но тесты не выполняются в Selenium.

Поскольку имя всех моих тестовых классов в (src / test / java) не заканчивается на «Test».

Бывший. Имя проблемного тестового класса - AppiumTest02.java, RESTAPITest02.java и т. Д.

Я изменил имя всего моего класса Test на «Test».

Правильное имя тестового класса - AppiumTest.java, RESTAPITest.java и т. д.

Убедитесь, что имя нашего класса Test должно оканчиваться на Test.

После изменения имени теста проблема была решена. Пожалуйста, попробуйте то же самое, чтобы решить эту проблему.

person user9396042    schedule 23.07.2020