jenkinsからmavenプロジェクトにパラメータを渡す方法を学びたいと思います。 まず私ジェンキンスで一般的な設定を選択し、 "このプロジェクトは、パラメータ化されている" をクリックしjenkinsからmavenプロジェクトにパラメータを渡す方法
名=> my_parameter
の選択肢=>デスクトップ、 のiPad、 タブレット
その後、ソース管理=> gitの私はgit repoのリンクを書いたリポジトリ、それはOKだった。
最終ステップビルド=>実行シェル=>コマンド=> MVNテスト-DdeviceType = $ my_parameter
私のMavenプロジェクトは、パラメータの名前の文字列装置を備えています。
String device;
public static DesiredCapabilities caps=null;
@BeforeSuite
public void initializeDriver() throws MalformedURLException{
device=System.getenv("deviceType");
System.out.println("device type: "+ device);
if (device.contains("ipad")) {
caps = new DesiredCapabilities();
caps.setCapability("browserName", "iPad");
caps.setCapability("platform", "MAC");
caps.setCapability("device", "iPad Mini 4");
caps.setCapability("browserstack.local", "true");
caps.setCapability("browserstack.debug", "true");
caps.setCapability("safariAllowPopups", "true");
caps.setCapability("acceptSslCerts", "true");
caps.setCapability("browserstack.autoWait", "0");
caps.setCapability("requireWindowFocus", "true");
driver=new RemoteWebDriver(new URL(URL), caps);
}
その後ジェンキンス上のパラメータで構築
$ /bin/sh -xe /var/folders/j9/gyf9715j0hs32m4gd8h_gw4m55zss4 /T/hudson7304038831620598368.sh
+ mvn test -DdeviceType=desktop
[INFO] Scanning for projects...
device type: null[0m
なぜデバイスタイプリターンヌルしていますか?どうしましたか? あなたのお手伝いをしてくれてありがとう...
私はdevice = System.getProperty( "deviceType");を試しました。 System.out.println( "デバイスタイプ:" +デバイス); 違いはありません。デバイスタイプはヌルを返す –
これは、mvnに提供されたシステムのpropsが、確実なベースの単体テストで利用可能なシステムプロパティに変換されないためです。それでもシステムプロパティを使用したい場合は(このためにはenv varsが望ましい)、確実にシステムを設定する方法については、http://maven.apache.org/surefire/maven-surefire-plugin/examples/system-properties.htmlを参照してください。プロパティ。 –