Разбираемся в запуске тестов в Jenkins (+Maven +TestNG +WebDriver на Java) или туториал новичка

после компиляции *.class файл с классом LoginTest в target/classes не появился.

после запуска теста создалась папка target\test-classes, в которой разместился LoginTest.

Тесты не запускаются. Загружается браузер и вылетает ексепшн.

привет всем!
скиньте ссилочку на  m2e плагин для екліпса

Через Eclipse: Help\Install New Software - в поиске введи m2e.

Мистика, после рестарта компьютера перестал работать maven:

C:\Documents and Settings…>mvn version
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Переменные среды на своих местах. Никаких изменений не вносилось.

Теперь пишет такую ошибку:

mvn version
 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 36.547s
[INFO] Finished at: Mon Jan 14 12:31:30 EET 2013
[INFO] Final Memory: 15M/36M
[INFO] ------------------------------------------------------------------------
 
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building ----------
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.125s
[INFO] Finished at: Mon Jan 14 12:31:36 EET 2013
[INFO] Final Memory: 2M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Unknown lifecycle phase "version". You must specify a valid lifecycle ph
ase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-
artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate
, initialize, generate-sources, process-sources, generate-resources, process-res
ources, compile, process-classes, generate-test-sources, process-test-sources, g
enerate-test-resources, process-test-resources, test-compile, process-test-class
es, test, prepare-package, package, pre-integration-test, integration-test, post
-integration-test, verify, install, deploy, pre-site, site, post-site, site-depl
oy, pre-clean, clean, post-clean. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhase
NotFoundException

Это проблема java . обновите ее, там какая то проблема с безопасностью была обнаружена и выпустили срочный апдейт, теперь ни одно приложение использующее жаву старой версии не заработает) 

Обновление не помогло. mvn version не работает.

Также осталась основная проблема. Не получается устранить.

Cannot instantiate class com.----.test.LoginTest

Немного не понятно чего вы хотите добиться, но попробуйте

mvn -version

Я хочу добиться запуска тестов через maven, а информация о версии - уже второстепенный вопрос. Кстати, вы, по идеи, правы. Скорей всего по невнимательности не вводил "-".

Так а что конкретно не получается? Не находит тест класс? Пути в target папке совпадают с package  теста?

Как проверить, что совпадают?

C:\Documents and Settings\----\Мои документы\ec\AutomatTest\target\test-classes\com\-----\test

C:\Documents and Settings\----\Мои документы\ec\AutomatTest\src\test\java\com\----\test

Здравствyите, y меня возникла одна проблема, возможно вы подскажите. Как сделать так чтобы при запуске тестов с Jenkins обновлялся testing-result.xml? На данныи момент результаты туда записиваются Только когда я запускаю тест из Eclipce как тестнг

Так а как вы запускаете ваши тесты на jenkins? Если вы запускаете через maven c подключением правильных зависимостей и плагинов, то результаты должны автоматически генерироваться.

да, запускаю тесты через Maven и Jenkins все нормально запускается но фаил с отчетом не обновляется, success. Тоже самое происходит когда я запускаю тест из eclipse при помоши мавен тест - фаил репорт не обновляется. в чем может быть проблема?

так, сама разобралась
я искала их в test-out папке, а оказывается мавен их кладёт в target\surefire-reports
сорри за беспокойство

Добрый день всем!

Создал тесты все как описано в данной теме. Но наткнулся на проблему при запуске тестов из Jenkins. Все, что сделано до Jenkins - все работает, проект собирается и тесты выполняются отлично!
В данной теме вроде писали о подобной проблеме, но я не нашел ответа для себя как это исправить.
Краткая суть проблемы: после настройки Jenkins и создании джоба, вываливаются ошибки типа (полный скрин ошибки, а так же настроек Jenkins приложил):

[INFO] Compiling 2 source files to D:\work\Eclipse\workspace\JabraProjectNew\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /D:/work/Eclipse/workspace/JabraProjectNew/src/test/java/MusicCategoryTests/PurchaseJabraSolemateMaxTest.java:[3,25] package org.testng does not exist
[ERROR] /D:/work/Eclipse/workspace/JabraProjectNew/src/test/java/MusicCategoryTests/PurchaseJabraSolemateMaxTest.java:[3,1] static import only from classes and interfaces
[ERROR] /D:/work/Eclipse/workspace/JabraProjectNew/src/test/java/MusicCategoryTests/PurchaseJabraSolemateMaxTest.java:[6,30] package org.testng.annotations does not exist
[ERROR] /D:/work/Eclipse/workspace/JabraProjectNew/src/test/java/MusicCategoryTests/PurchaseJabraSolemateMaxTest.java:[7,30] package org.testng.annotations does not exist
[ERROR] /D:/work/Eclipse/workspace/JabraProjectNew/src/test/java/MusicCategoryTests/PurchaseJabraSolemateMaxTest.java:[19,10] cannot find symbol
symbol: class Test
location: class test.java.MusicCategoryTests.PurchaseJabraSolemateMaxTest

Самое главное то, что после сборки и получении ошибки - тесты перестают работать даже в среде Еклипс - неважно как запускать (или просто через TestNG или используя Maven).
Помогите, пожалуйста, разобраться что не так я делаю. Огромное спасибо!


Имхо что-то связанное с порядком компиляции файлов.

pom покажите .

Положите файлы под гит, надежней же будет, потом настройте чакаут, и указывайте пути относительно проекта, с полными вечно лажа.
Зачем вообще локально всю эту лажу держать - создать гит репозиторий в гитхаб или битбакет это нынче сложно? Или потом в проекте на работе тоже будете из папки эклипса тесты собирать?
Да и дженкинс поднимать на своей тачке это как-то странно, ну уж если совсем нету ресурсов, хотя в таком случае лучше уже в виртуалбоксе развернуть образ и держать все это там. Стало ненужно - грохнул и все, и своя ось на тачке без лишнего мусора будет.

Вот же - /D:/work/Eclipse/workspace/JabraProjectNew/src/test/java/MusicCategoryTests/PurchaseJabraSolemateMaxTest.java:[3,25] package org.testng does not exist

Обратите внимание на слеш в самом начале пути, и на все остальные слеши, разве под виндой в адресной строке они в эту сторону стоят :smiley:

1 лайк
<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>JabraProjectNew</groupId>
  <artifactId>JabraProjectNew</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>ProjMaven</name>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
      <plugin>
  		<groupId>org.apache.maven.plugins</groupId>
  		<artifactId>maven-surefire-plugin</artifactId>
  		<version>2.18</version>
  		<inherited>true</inherited>
  		<configuration>
         <suiteXmlFiles>
           <suiteXmlFile>testng.xml</suiteXmlFile>
         </suiteXmlFiles>
       </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
  	<dependency>
  		<groupId>org.testng</groupId>
  		<artifactId>testng</artifactId>
  		<version>6.8.8</version>
  		<scope>test</scope>
  	</dependency>
  	<dependency>
  		<groupId>org.seleniumhq.selenium</groupId>
  		<artifactId>selenium-java</artifactId>
  		<version>2.44.0</version>
  	</dependency>
  	<dependency>
  		<groupId>org.uncommons</groupId>
  		<artifactId>reportng</artifactId>
  		<version>1.1.4</version>
  		<scope>test</scope>
  		  <exclusions>
           	<exclusion>
              <groupId>org.testng</groupId>
               <artifactId>testng</artifactId>
            </exclusion>
        </exclusions>
  		<classifier>test-sources</classifier>
  	</dependency>
  </dependencies>
</project>

Согласен, совсем странно и неверно. Но я то ведь явно нигде не указываю эти пути с неправильными слешами. Не совсем понимаю откуда оно гребет это и где исправить.

Копайте настройки дженкинса, джобы. Старайтесь избегать полных путей, выносите пути в системные переменные, например зачем явно указывать путь к домашней директории мавена, когда можно вынести его в M2_HOME который дженкинс прекрасно подхватит.

Настройте для данного джоба чекаут из гита - таким образом когда дженкинс стянет все файлы - он сам создаст необходимую структуру директорий и все туда окуратно сложит. И путь к pom.xml должен выглядеть не длиннее чем pom.xml

1 лайк