2017-01-09 5 views
0

Jenkinsに私の自動テストにChromeを使用させようとしてきました。テストをローカルで実行すると、TestNGのJDK VMオプションの-Dbrowser = chromeでChromeを使用できるようになります。関係なく、私がしようと何Firefoxを使用していない上で立ち往生しているように見えるいくつかの理由Chromeを使用するようにJenkinsを設定する - Selenium 3.0.1 Maven TestNG

enter image description here

。ここで

は方法

@BeforeMethod(
    alwaysRun = true 
) 
public static void configureBrowserBeforeTest(Method testMethod) { 
    try { 
     ((Driver)driver.get()).resetBrowser(); 
     wait.set(newDefaultWait()); 
     userAgent = determineUserAgent(); 
     initialiseNewScreenshotCapture(testMethod); 
    } catch (Exception var2) { 
     logger.error("Failed to configure browser.", var2); 
     throw new RuntimeException("Failed to configure browser.", var2); 
    } 
} 

そして、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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.frameworkium</groupId> 
    <artifactId>Frameworkium</artifactId> 
    <packaging>jar</packaging> 
    <version>2.0.5</version> 

    <name>Frameworkium</name> 
    <description> 
     A template designed to get up and running quickly with Selenium and Appium. 
    </description> 
    <url/> 
    <inceptionYear/> 
    <organization/> 
    <licenses/> 

    <developers/> 
    <contributors/> 

    <prerequisites> 
     <maven>3.1.1</maven> 
    </prerequisites> 

    <modules/> 

    <scm/> 
    <issueManagement/> 
    <ciManagement/> 
    <distributionManagement/> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <env.config>local</env.config> 
     <threads>1</threads> 
     <groups/> 
     <aspectj.version>1.8.9</aspectj.version> 
    </properties> 

    <repositories> 
     <repository> 
      <id>jitpack.io</id> 
      <url>https://jitpack.io</url> 
     </repository> 
    </repositories> 

    <dependencies> 
     <dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.9.8</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi-ooxml</artifactId> 
      <version>3.11</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.poi</groupId> 
      <artifactId>poi</artifactId> 
      <version>3.14</version> 
     </dependency> 
     <dependency> 
      <groupId>com.github.Frameworkium</groupId> 
      <artifactId>frameworkium-core</artifactId> 
      <version>2.3.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-remote-driver</artifactId> 
      <version>3.0.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>3.0.1</version> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-server</artifactId> 
      <version>3.0.1</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
     </plugins> 
     <testSourceDirectory>src/test/java</testSourceDirectory> 
     <resources> 
      <resource> 
       <directory> 
        src/main/resources 
       </directory> 
      </resource> 
     </resources> 
    </build> 
    <profiles> 
     <profile> 
      <id>tests</id> 
      <activation> 
       <activeByDefault>true</activeByDefault> 
      </activation> 
      <build> 

       <plugins> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-compiler-plugin</artifactId> 
         <version>3.5.1</version> 
         <configuration> 
          <source>1.8</source> 
          <target>1.8</target> 
         </configuration> 
        </plugin> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-surefire-plugin</artifactId> 
         <version>2.19.1</version> 
         <configuration> 
          <parallel>methods</parallel> 
          <threadCount>${threads}</threadCount> 
          <systemProperties> 
           <screenshotDirectory> 
            ${project.build.directory}/screenshots 
           </screenshotDirectory> 
           <allure.issues.tracker.pattern> 
            /browse/%s 
           </allure.issues.tracker.pattern> 
          </systemProperties> 
          <suiteXmlFiles> 
           <suiteXmlFile>testng.xml</suiteXmlFile> 
          </suiteXmlFiles> 
          <includes> 
           <include>**/Test*.java</include> 
           <include>**/*Tests*.java</include> 
           <include>**/*Tests.java</include> 
           <include>**/*Test.java</include> 
           <include>**/*TestCase.java</include> 
          </includes> 
          <groups>${groups}</groups> 
          <testFailureIgnore>false</testFailureIgnore> 
          <argLine> 
           -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar" 
          </argLine> 
         </configuration> 
        </plugin> 
       </plugins> 

      </build> 
     </profile> 
    </profiles> 
</project> 

enter image description here

前に、私は解決策は単純なもので、私はジェンキンスサービスとして実行し、使用していると確信している私ですローカル管理者アカウント。私は、セレンプラグインと同様、ジェンキン用のクロムドライブプラグインをインストールしました。テストはOKですが、FirefoxとFFを使用しています。バージョン50は、セレン3.0.1上のgeckoドライバで動作するようですので、私はむしろうまく動作することがわかっているChromeを使用したいと思いますが、私の人生のためには、 FFの代わりにJenkinsにChromeを使用するように指示する方法を説明します。あなたの助けを前もってありがとう!私が何かを逃してしまった場合は謝罪します。

OS - のWindows Server 2012 Mavenの TestNGの セレン3.0.1

答えて

1

私は(使用されるように定義されたデフォルトのブラウザがFirefoxとテストコードを使用するには、ブラウザの風味を見つけることができないされていることを推測していますコマンドライン(または)を介してJVM args(または)を介して)そのデフォルト値、つまりfirefoxのデフォルト値に設定します。

IntelliJの実行コンフィギュレーションのスクリーンショットでは、JVMの引数-Dbrowser=chromeを使用してブラウザのフレーバーを指定していますが、Jenkinsの設定ページのスクリーンショットには何も表示されません。

あなたは(私はいけないあなたが引用符で$BROWSERNAMEを囲む必要があると思うとBROWSERNAMEがあなたのジェンキンスの設定ページで有効なパラメータを参照することを想定しています。このclean install package -DBrowserName="$BROWSERNAME" -e

のようなものは、あなたがclean install package -Dbrowser=$BROWSERNAME -eに変更してくださいすることができたように見えます)

これは基本的にあなたの問題を処理する必要があります。

+0

ありがとうございました。私の問題を解決しました。そのヘッドレスブラウザとして動作し、ブラウザを起動するにはどうしたらいいですか? – OhAye

+0

これが役立つかどうか確認してくださいhttp://stackoverflow.com/questions/9618774/jenkins-selenium-gui-tests-are-not-visible-on-windows –

関連する問題