web-dev-qa-db-ja.com

スキャンする前に、OWASP ZAPを介してSelenium Jenkinsを実行する

私がやろうとしていることは、以前に行われたことだと思います。うまくいけば、これは可能であり、誰かがその方法を知っています。どんな情報でも大歓迎です。

Jenkinsで同じジョブでSeleniumとOWASP ZAPの両方を実行しようとしています。基本的に、JenkinsでZAPを開始し、ZAPをプロキシとして使用しながらSeleniumテストを実行してから、Seleniumによって提供された場所を使用してZAPスキャンを開始します。

https://wiki.jenkins.io/display/JENKINS/Execute+ZAP+as+part+of+a+SeleniumのJenkinsサイトで、役立つと思われるいくつかの指示を見つけました+ビルド

残念ながら、記事は2つの別々の場所で明らかに反対する2つのことについて述べています。まず、「Seleniumビルドステップは、ZAP実行ビルドステップの前に配置する必要があります。」次に、「ビルド前のステップとして[ZAP]を実行します」。では、最初にZAPを起動するのですか、それともSeleniumを最初に実行するのですか?

最初にZAPを起動し、Seleniumが実行している間はZAPを実行したままにして、スキャンを実行する必要があることは明らかです。残念ながら、「公式OWASP ZAP Jenkinsプラグイン」の「ZAPの実行」ステップは、個別のステップとしてのみ実行されるようです。開始後、他のステップが実行される前に終了する必要があります。 Seleniumが完了するまでZAPを実行し続ける方法はありますか?

2
harrys

私は問題を解決しました。 JenkinsでZAPを起動し、Seleniumプロセスを実行してZAPスキャンを実行する方法があります。

手順はその方法を説明しました。読み間違えました。

ジェンキンスの前にセレンを置くことになっていたのは正しかった。私がやるべきことは、「ビルド」セクションでSeleniumテストを開始することでした。次に、「Post Step」として「Execute ZAP」を追加します。ただし、「ZAPの実行」設定には、「起動」セクションがあります。そのセクションでは、「ビルド前のステップとして実行」をオンにします。

とても簡単です。 Jenkinsは、「Run as Pre-Build Step」にチェックを入れ、ZAPスタートアップを事前ビルドステップとして実行しているのを確認しますが、実際のコマンドは事後ビルドステップとして実行します。

だから、ドキュメントはそれが言われたはずのとおり正確にそれを言った。私はそれを誤解しているだけで、私の元の質問の誤解されたセクションを引用しています。

1
harrys