4

Я использую Jenkins для создания моего проекта Maven и публикации результатов тестирования с помощью плагина. Возникли проблемы с символами кириллицы в отчете. Это выглядит так: . Но выход кириллицы в консоли Jenkins в порядке.Кодировка результатов Jenkins и TestNG

Мой pom.xml:

<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"> 
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>ru.ibs</groupId> 
    <artifactId>msprjtest</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 
    <dependencies> 
     <dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.8.5</version> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>2.32.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.opera</groupId> 
      <artifactId>operadriver</artifactId> 
      <version>1.2</version> 
     </dependency> 
    </dependencies> 
    <build> 
     <resources> 
      <resource> 
       <directory>src/main/resources</directory> 
       <filtering>true</filtering> 
      </resource> 
     </resources> 
     <plugins> 
     <plugin> 
      <groupId>com.googlecode</groupId> 
      <artifactId>maven-idea-plugin</artifactId> 
      <version>1.6.1</version> 
      <configuration> 
      <!--vmParameters>-Dfile.encofing=UTF-8</vmParameters--> 
      <compileInBackground>false</compileInBackground> 
    </configuration> 
     </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-resources-plugin</artifactId> 
       <version>2.6</version> 
       <configuration> 
       <encoding>UTF-8</encoding> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.14.1</version> 
       <configuration> 
        <reportsDirectory>${basedir}/test-output</reportsDirectory> 
        <suiteXmlFiles> 
         <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile> 
        </suiteXmlFiles> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <encoding>UTF-8</encoding> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <pluginRepositories> 
    <pluginRepository> 
     <id>maven-idea-plugin-repo</id> 
     <url>http://maven-idea-plugin.googlecode.com/svn/maven-repo</url> 
    </pluginRepository> 
    </pluginRepositories> 
    <!-- profiles --> 
    <profiles> 
     <profile> 
      <id>ie9</id> 
      <properties> 
       <env>local</env> 
       <user.username></user.username> 
       <user.password></user.password> 
       <grid2.hub></grid2.hub> 
       <site.url>http://msprjtest:6005/</site.url> 
       <browser.name>ie</browser.name> 
       <browser.version></browser.version> 
       <browser.platform></browser.platform> 
      </properties> 
      <activation> 
       <activeByDefault>true</activeByDefault> 
      </activation> 
     </profile> 
    </profiles> 
</project> 

кодирования проекта устанавливается в UTF-8. IDE - Intellij IDEA 12.1.3. TestNG 6.8.5.

+0

Честно говоря, кодировка в файлах отчетов плохая (в ./target/surefire-reports/) или в тестовом журнале (что вы видите при запуске «mvn test» в терминале)? – patrungel

+0

Плохая кодировка в ./target/surefire-reports/testng-results.xml Выходная консоль Jenkins = кодировка OK В терминале и IDEA, если я строю проект с использованием кодировки «mvn test», тоже плохо. Если я запускаю тест из IDEA с помощью testng.xml - encoding OK В pom.xml я устанавливаю UTF-8 для project.build.sourceEncoding и для maven-resources и плагина компилятора. Но это не влияет на выход. – QAutomatron

+0

Я попытался воссоздать минимальную настройку и не воспроизвел проблему (ubuntu - мое оборудование, так что это utf-8). Тем не менее, вы можете заглянуть в скомпилированные тестовые классы, чтобы проверить, правильно ли составлены ваши кириллические сообщения. Если класс содержит мусор, то это компилятор, который виноват, иначе это бегун. – patrungel

ответ

4

На самом деле,

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.14.1</version> 
    <configuration> 
     ... 
     <encoding>UTF-8</encoding> 
     <inputEncoding>UTF-8</inputEncoding> 
     <outputEncoding>UTF-8</outputEncoding> 
     <argLine>-Xms256m -Xmx512m -XX:MaxPermSize=128m -ea 
     -Dfile.encoding=UTF-8</argLine> 
    </configuration> 
</plugin> 

Если это исправить.

+0

Спасибо! Это действительно помогает. – QAutomatron

Смежные вопросы