title | linkTitle | weight | description |
---|---|---|---|
Seleniumコードの整理と実行 |
Seleniumの使用 |
10 |
IDEとテストランナーライブラリを使用したSelenium実行のスケーリング
|
一握り以上の 1 回限りのスクリプトを実行する場合は、コードを整理して操作できる必要があります。このページでは、Seleniumコードを使用して実際に生産的なことを行う方法についてのアイデアを提供します。
ほとんどの人はSeleniumを使用してWebアプリケーションの自動テストを実行します。 しかし、Seleniumはブラウザ自動化のあらゆるユースケースをサポートします。
おそらく、Webサイトにログインして何かをダウンロードするか、フォームを送信する必要があります。 Selenium スクリプトを作成して、あらかじめ設定された時間にサービスと共に実行できます。
APIがないサイトからデータを収集したいとお考えですか?セレン これを行うことができますが、Webサイトに精通していることを確認してください。 一部のWebサイトでは許可されておらず、他のWebサイトではSeleniumがブロックされることさえあります。
テストのためにSeleniumを実行するには、Seleniumが実行したアクションに対してアサーションを行う必要があります。 したがって、優れたアサーションライブラリが必要です。テストの構造を提供する追加機能 使用する必要があります Test Runner.
Seleniumコードの使用方法に関係なく、優れた統合開発環境がなければ、Seleniumコードの作成や実行はあまり効果的ではありません。一般的なオプションを次に示します...
テストにSeleniumを使用していない場合でも、高度なユースケースがある場合は、テストランナーを使用してコードをより適切に整理するのが理にかなっている場合があります。before/after フックを使用して、グループまたは並行して物事を実行できると非常に便利です。
さまざまなテストランナーが利用可能です。
このドキュメントのすべてのコード例は、 テストランナーを使用し、すべてのコードが正しく更新されていることを確認するためにリリースごとに実行されるディレクトリの例。 リンク付きのテストランナーのリストを次に示します。最初の項目は、このリポジトリで使用される項目と このページのすべての例で使用されます。
{{< tabpane text=true >}} {{% tab header="Java" %}}
- JUnit - JavaベースのSeleniumテストで広く使用されているテストフレームワーク。
- TestNG - 並列テスト実行やパラメーター化されたテストなどの追加機能を提供します。 {{% /tab %}}
{{% tab header="Python" %}}
{{% tab header="CSharp" %}}
{{% tab header="Ruby" %}}
- RSpec - RubyでSeleniumテストを実行するために最も広く使用されているテストライブラリ。
- Minitest - Ruby標準ライブラリに付属する軽量なテストフレームワークです。 {{% /tab %}}
{{% tab header="JavaScript" %}}
- Jest - 主にReactのテストフレームワークとして知られていますが、Seleniumのテストにも使用できます。
- Mocha - Seleniumテストを実行するための最も一般的なJSライブラリ。 {{% /tab %}}
{{% tab header="Kotlin" %}}
- Kotest - Kotlin専用に設計された、柔軟で包括的なテストフレームワークです。
- JUnit5 - 標準的なJavaテストフレームワークであり、Kotlinと完全に互換性があります。 {{% /tab %}}
{{< /tabpane >}}
これは、で必要とされたものと非常によく似ています [Seleniumライブラリのインストール]({{< ref "install_library.md" >}})。このコードは、私たちのドキュメント例プロジェクトで使用されているものの例を示しているだけです。
{{< tabpane text=true >}} {{% tab header="Java" %}}
Maven
Gradle
{{% /tab %}} {{% tab header="Python" %}}
プロジェクトで使用するには、requirements.txt ファイルに追加します:
{{% /tab %}} {{% tab header="CSharp" %}} プロジェクトの 'csproj' ファイルで、依存関係を 'ItemGroup' の 'PackageReference' として指定します:
{{% /tab %}} {{% tab header="Ruby" %}}
プロジェクトの gemfile に追加
{{% /tab %}} {{% tab header="JavaScript" %}} プロジェクトの 'package.json' で、要件を 'dependencies' に追加します。:
{{% /tab %}} {{< tab header="Kotlin" >}} {{< /tab >}} {{< /tabpane >}}
{{< tabpane text=true >}} {{< tab header="Java" >}} {{< gh-codeblock path="examples/java/src/test/java/dev/selenium/getting_started/UsingSeleniumTest.java#L30-L31" >}} {{< /tab >}} {{% tab header="Python" %}} {{< gh-codeblock path="examples/python/tests/getting_started/using_selenium_tests.py#L8-L9" >}} {{< /tab >}} {{< tab header="CSharp" >}} {{< gh-codeblock path="examples/dotnet/SeleniumDocs/GettingStarted/UsingSeleniumTest.cs#L19-L20" >}} {{< /tab >}} {{< tab header="Ruby" >}} {{< gh-codeblock path="examples/ruby/spec/getting_started/using_selenium_spec.rb#L14-L15" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="examples/javascript/test/getting_started/runningTests.spec.js#L14-L15" >}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} {{< /tab >}} {{< /tabpane >}}
{{< tabpane text=true >}} {{% tab header="Java" %}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/getting_started/UsingSeleniumTest.java#L19-L22" >}}
{{< gh-codeblock path="examples/java/src/test/java/dev/selenium/getting_started/UsingSeleniumTest.java#L45-L48" >}}
{{% /tab %}} {{% tab header="Python" %}}
{{< gh-codeblock path="examples/python/tests/getting_started/using_selenium_tests.py#L25-L28" >}}
{{< gh-codeblock path="examples/python/tests/getting_started/using_selenium_tests.py#L30-31" >}}
{{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} {{% tab header="Ruby" %}}
{{< gh-codeblock path="examples/ruby/spec/getting_started/using_selenium_spec.rb#L7-L9" >}}
{{< gh-codeblock path="examples/ruby/spec/spec_helper.rb#L28" >}} {{% /tab %}} {{< tab header="JavaScript" >}}
{{< gh-codeblock path="examples/javascript/test/getting_started/runningTests.spec.js#L7-L9" >}}
{{< gh-codeblock path="examples/javascript/test/getting_started/runningTests.spec.js#L30" >}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} {{< /tab >}} {{< /tabpane >}}
{{< tabpane text=true >}} {{% tab header="Java" %}}
mvn clean test
gradle clean test
{{% /tab %}} {{% tab header="Python" %}} {{< gh-codeblock path="examples/python/README.md#L35" >}} {{% /tab %}} {{< tab header="CSharp" >}} {{< badge-code >}} {{< /tab >}} {{% tab header="Ruby" %}} {{< gh-codeblock path="examples/ruby/README.md#L26" >}} {{% /tab %}} {{% tab header="JavaScript" %}}
mocha runningTests.spec.js
npx mocha runningTests.spec.js
{{% /tab %}} {{< tab header="Kotlin" >}} {{< badge-code >}} {{< /tab >}} {{< /tabpane >}}
[最初のスクリプト]({{< ref "first_script.md" >}})のトピックでは、Seleniumスクリプトの各コンポーネントを見ました。こちらが、テストランナーを使用したそのコードの例です。
{{< tabpane text=true >}} {{< tab header="Java" >}} {{< gh-codeblock path="examples/java/src/test/java/dev/selenium/getting_started/UsingSeleniumTest.java" >}} {{< /tab >}} {{< tab header="Python" >}} {{< gh-codeblock path="examples/python/tests/getting_started/using_selenium_tests.py" >}} {{< /tab >}} {{< tab header="CSharp" >}} {{< gh-codeblock path="examples/dotnet/SeleniumDocs/GettingStarted/UsingSeleniumTest.cs" >}} {{< /tab >}} {{< tab header="Ruby" >}} {{< gh-codeblock path="examples/ruby/spec/getting_started/using_selenium_spec.rb" >}} {{< /tab >}} {{< tab header="JavaScript" >}} {{< gh-codeblock path="examples/javascript/test/getting_started/runningTests.spec.js" >}} {{< /tab >}} {{< tab header="Kotlin" >}} {{< badge-code >}} {{< /tab >}} {{< /tabpane >}}
学んだことを活かして、Seleniumコードを構築します!
必要な機能が他にも見つかったら、残りの機能をお読みください [WebDriver ドキュメント]({{< ref "/documentation/webdriver/" >}}).