0

Cucumber-JVMを使用したJavaベースのモバイル自動化フレームワーク開発の場合。 キュウリランナー&キュウリのタグを渡すために、キュウリのjvm-parallel-pluginを使用します。 スニペット:今Maven/Javaランタイムからparamers(キュウリタグ)をcucumber-jvm-parallel-pluginに渡すには、Mavenプロファイルを使用するのが好ましい

<plugin> 
      <groupId>com.github.temyers</groupId> 
      <artifactId>cucumber-jvm-parallel-plugin</artifactId> 
      <version>4.2.0</version> 
      <executions> 
       <execution> 
        <id>generateRunners</id> 
        <phase>generate-test-sources</phase> 
        <!--<phase>validate</phase>--> 
        <goals> 
         <goal>generateRunners</goal> 
        </goals> 
        <configuration> 
         <!-- Mandatory --> 
         <!-- List of package names to scan for glue code. --> 
         <glue> 
          <package>stepDefs</package> 
          <!--<package>com.example.other</package>--> 
         </glue> 
         <!-- These are optional, with the default values --> 
         <!-- Where to output the generated tests --> 
         <outputDirectory>${project.build.directory}/cucumber-parallel/html</outputDirectory> 
         <!-- The directory, which must be in the root of the runtime classpath, containing your feature files. --> 
         <featuresDirectory>src/main/resources/features/</featuresDirectory> 
         <!-- Directory where the cucumber report files shall be written --> 
         <!--<cucumberOutputDir>target/cucumber-parallel</cucumberOutputDir>--> 
         <cucumberOutputDir>target</cucumberOutputDir> 
         <!-- List of cucumber plugins. When none are provided the json formatter is used. For more 
          advanced usage see section about configuring cucumber plugins --> 
         <format>json,html,rerun</format> 

         <!--<plugins>--> 
          <!--<plugin>--> 
           <!--<name>json</name>--> 
          <!--</plugin>--> 
          <!--<plugin>--> 
           <!--<name>com.example.CustomHtmlFormatter</name>--> 
           <!--<extension>html</extension>--> 
          <!--</plugin>--> 
         <!--</plugins>--> 
         <!-- CucumberOptions.strict property --> 
         <strict>true</strict> 
         <!-- CucumberOptions.monochrome property --> 
         <monochrome>true</monochrome> 
         <!-- The tags to run, maps to CucumberOptions.tags property. Default is no tags. --> 
          <tag> 
           <!--${test.tag},--> 
           @ios_e2e, 
           @android, 
           @cover2, 
           @ios_cover1 
          </tag> 
         </tags> 
         <!-- Generate TestNG runners instead of JUnit ones. --> 
         <useTestNG>false</useTestNG> 
         <!-- The naming scheme to use for the generated test classes. One of 'simple' or 'feature-title' --> 
         <namingScheme>simple</namingScheme> 
         <!-- The class naming pattern to use. Only required/used if naming scheme is 'pattern'.--> 
         <!--<namingPattern>**/Parallel*IT.class</namingPattern>--> 
         <namingPattern>Parallel{c}IT</namingPattern> 

         <!-- One of [SCENARIO, FEATURE]. SCENARIO generates one runner per scenario. FEATURE generates a runner per feature. --> 
         <!--<parallelScheme>SCENARIO</parallelScheme>--> 
         <parallelScheme>FEATURE</parallelScheme> <!--Using Feature for accomodating Scenario Outline --> 

         <!-- Specify a custom template for the generated sources (this is a path relative to the project base directory) --> 
         <!--<customVmTemplate>src/test/resources/cucumber-custom-runner.vm</customVmTemplate>--> 
         <!-- Specify a custom package name for generated sources. Default is no package.--> 
         <packageName>com.example</packageName> 

        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

は、上記タグのセクションで、私たちは、動的にパラメータを渡すしたいと思います。 実行時パラメータ/ mavenパラメータ/メイプルプロファイルなど つまり、私は以下で試しましたが、動作しません。

 <profile> 
     <id>TestSuite1</id> 
     <activation> 
      <activeByDefault>true</activeByDefault> 
     </activation> 
     <properties> 
      <app.config>//src//test//java//envConfig//localGridConfig.properties</app.config> 
      <test.tag>@android</test.tag> 
     </properties> 
    </profile> 

Reference to populating parameter to maven on Stackoverflow another discussion

親切ですから、あなたのタグをトリガする-Dcucumber.options=--tags @sometagを使用してcucumberOptionsを設定することができますが、-Dmaven.plugin.property.name=valueを使用してコマンドラインからプロパティをプラグイン任意のMavenを渡すことができ、この どうもありがとう

答えて

2

を達成する方法を提案します。シェルによっては、適切な場所に引用符を付ける必要があります。

+0

実行時には、mvn clean verify -Ducucumber.options = " - tags @sometag"を使用します。しかし、Jenkinsから実行するには、mvn clean verify -Ducucumber.options = - tags @sometagを使用する必要があります – user2451016

関連する問題