序文 長い間さまざまな資料を読んで、ついに selenium+testng のパラメータ化の問題を解決しました。インターネットでいくつか見つけられるかもしれませんが、これらはすべて私の経験です。この記事では、Selenium+testng を使用した Docker による Web 自動化の実現に関する関連コンテンツを主に紹介します。詳しい紹介を見てみましょう。 Windows で selenium+testng を使用して Web 自動化環境を構築する 自動化に携わったことがある人なら、Selenium Web 環境の構築、特に Java での Selenium の使用についてよく知っているはずです。 まず、JDK をビルドしてインストールし、Java 開発環境を構成します (まだ方法がわからない場合は、PP をプレイする必要があります)。次に、公式 Web サイトから対応する Selenium jar パッケージをダウンロードしてプロジェクトにロードするか、Maven を使用して pom.xml ファイルを変更し、Selenium 依存パッケージを直接ロードします。 <依存関係> <groupId>org.seleniumhq.selenium</groupId> <artifactId>セレン-Java</artifactId> <バージョン>3.14.0</バージョン> </依存関係> 次に、対応するブラウザ ドライバー ファイルを追加すると、環境は基本的に準備完了となり、自動テスト コードの道を開始できます。 もちろん、コードを書く過程では、誰もが人気のユニット テスト フレームワーク testng も使用します。これを基にテスト環境を追加するにはどうすればよいでしょうか?実際、これは難しい作業ではありません。testng の公式 Web サイト (https://testng.org/doc/index.html) には、Eclipse や IEDA などのエディターにプラグインをインストールする方法が説明されています。たとえば、Eclipse では、マーケットに直接アクセスして testng を検索し、インストールすることができます。Maven を使用する場合は、依存パッケージを pom.xml に追加する必要があります。 <リポジトリ> <リポジトリ> <id>jcenter</id> <name>バイナリトレイ</name> <url>http://jcenter.bintray.com</url> </リポジトリ> </リポジトリ> <依存関係> <グループID>org.testng</グループID> <artifactId>テスト</artifactId> <バージョン>6.10</バージョン> <scope>テスト</scope> </依存関係> ダウンロードとインストールが完了するのを待つだけで、あとはコードを記述するだけで、自由に自分を表現できます。 しかし、今日紹介したいのは上記のことではありません。このような環境の構築は非常に簡単です。ほとんどの人は実際にその方法を知っています。落とし穴はそれほど多くありません。それは単なるコード環境です。 今回対処するトラブルは何でしょうか?ますます発展する Docker モードでは、上記のコンパイル環境は Linux システム上で実行できません。コード エディターも、インターフェイスも、ブラウザーもありません。どうすればよいでしょうか?見てみましょう。 Dockerのインストールと使用 同様に、java+selenium+testng も引き続き必要ですが、環境は Windows から Linux に変更されています。 docker の使用に関して、インストールと起動のプロセスを簡単に紹介します。 直接インストールするには、 次に、 現在のすべてのイメージは、 Linux イメージを確認した後、 コンテナに入るには、まず docker ps を使用して、現在実行中のすべてのコンテナを表示します。見つからない場合は、コンテナが起動されていないか、シャットダウンされていることを意味します。docker コンテナ内の Linux にログインするには、 Docker での Java 環境の構築 コンテナ内の Linux は、実際には通常の Linux の動作と同じです。 まず、JDK をインストールします。 jdk-8u181-linux-x64.tar.gz パッケージをダウンロードします。 Java 環境変数を設定します。 環境変数ファイルを編集します: vi /etc/profile コンテンツを追加: JAVA_HOME=/root/java/jdk1.8.0_181 をエクスポートします。 エクスポート JRE_HOME=${JAVA_HOME}/jre エクスポート CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib PATH=${JAVA_HOME}/bin:$PATH をエクスポートします 環境変数の設定を更新します。 Java バージョンが有効かどうかを確認します。 この時点で、Java 環境は解決されています。特に難しいことはありません。ステップごとに実行してください。 Docker でのテスト環境の構成 次は testng です。環境は java と似ており、環境変数にも関連しているため、最初に解決します。 testng-6.14.3.jar パッケージをダウンロードします。 環境変数ファイルの編集を続けます: コンテンツを追加: エクスポート TESTNG_HOME=/root/java/testng エクスポート CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH:$TESTNG_HOME/testng-6.14.3.jar 環境変数の設定を更新します。 ここで、testng 環境変数に注意してください。CLASSPATH は、Java 環境に基づいて追加されます。Windows で構成する場合は、区切り文字を ; に変更する必要があり、環境変数の呼び出し形式が異なります。いくつかの違いがあります。 まあ、これは簡単なことではないかと思う人もいるかもしれません。 しかし、この時点で実行を続けると、エラーが出始め、深い穴に陥っていることがわかります。これは、開発環境全体から外れているためです。 まず、testng の実行手順について説明します。自分で test.java ファイルを作成するとします。このファイルはシンプルにし、他の jar パッケージを含めないようにしてください。パッケージ名はシンプルで、クラス名は test です。 javac テスト.java java org.testng.TestNG -テストクラス simple.test 非常に単純に見えますが、実行すると至る所でエラーが発生します。javac test.java を実行すると、一般的なエラーは次のようになります。 java.lang.NoClassDefFoundError: com/beust/jcommander/ これは、コンパイルに使用される jar パッケージが見つからないためです。jcommander-1.72.jar をダウンロードする必要があります。これを testng jar パッケージと一緒に配置します (/root/java/testng/ ディレクトリに配置されていると仮定します)。 CLASSPATH 環境変数を追加する必要があります: CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH:$TESTNG_HOME/testng-6.14.3.jar:$TESTNG_HOME/jcommander-1.72.jar 環境構成の更新を続行します。 その後は、通常はスムーズにコンパイルでき、test.class ファイルが表示されます。 testng 関連のパッケージが存在しないなどのその他のエラーが発生する場合は、環境変数が正しく設定されているかどうかを確認してください。 最後のステップは操作であり、ここでほとんどの問題に遭遇することになります。 まず構造について説明しましょう。たとえば、上記の simple.test クラスの場合、test.java を保存するための simple フォルダーを作成する必要があります。 CLASSPATH環境変数に、テストコードファイルとパッケージの最上位ディレクトリを追加する必要があります。 /root/java/testng/ /root/java/testng/simple/test.java この構造上の前提に基づいて、次のコマンドで実行できます。 java org.testng.TestNG -テストクラス simple.test 結果が表示され、操作が成功したことを意味します。
コード内にテスト ケース @Test があるのに、実行結果が 0 と表示される場合は、テストは失敗したものの、明確なエラーはないことを意味します。 もちろん、これはまだ終わりを意味するものではありません。 さまざまな依存 jar パッケージが不足しているために問題が発生する可能性もあります。 これらのjarパッケージはパラメータを通じて導入できる /root/java/testng/ /root/java/testng/simple/test.java Windows のブラウザをリモートで呼び出す 環境問題が解決すれば、すべてうまくいくと思いますか?もう1つ、ブラウザについてはどうでしょうか?ブラウザがない問題を解決するにはどうすればよいですか? Windows マシンにデプロイするには、Selenium に付属のサーバーを使用してください。 この問題の解決策は比較的簡単です。 selenium-server-standalone-3.14.0.jar パッケージをダウンロードします。 指定されたディレクトリ(たとえば、ドライブ C のルート ディレクトリ)に配置します。 このディレクトリにcdします: cd C:\ 次のコマンドを実行して、Selenium リモート サービスを開きます。 java -jar selenium-server-standalone-3.14.0.jar -ポート 6666 次に、ブラウザの指定方法を尋ねる人がいるでしょうか? Windows で開始したばかりのサービスを呼び出すには、Java コードで次のステートメントを使用するだけです。 WebDriver ドライバー = new RemoteWebDriver("http://ip:6666/wd/hub/", DesiredCapabilities.chrome()); また、ブラウザ ドライバー ファイルはサーバー上でも必要であることに注意してください。jar パッケージと一緒に配置するだけで完了です。いじくり回すのが好きなら、自分で調べることができます。唯一の違いは、サービスを開始するときにいくつかのパラメーターを指定する必要があることです。 docker 全体は、Selenium + Java を使用して、Windows 上の Chrome ブラウザをリモートで呼び出し、Web 自動化環境の構築を完了します。 今後は、docker での selenium+testng を使用した Web 自動化コードの記述を更新する予定です。次回の更新をお待ちください。 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: vite を使用して vue3 アプリケーションを構築する方法
Apache.POI の HSSFWorkbook を使用して Excel にエクスポートします。具...
オブジェクト上にマウスを移動したときにコンテンツ(タイトル属性の内容)を折り返す方法、HTML タイ...
目次1. マルチインスタンスとは2. 複数インスタンスのインストールの準備3. MYSQLの複数イン...
今日、私はクラスメートが問題を解決するのを手伝いました - Tomcat の起動が非常に遅く、約 5...
この記事の例では、Bootstrap FileInputの具体的なコードを共有して、画像アップロード...
REPLACE構文REPLACE(String,from_str,to_str)つまり、String...
序文インターセプターの機能の 1 つは、特定のメソッドの呼び出しをインターセプトできることです。イン...
方法1: SET PASSWORDコマンドを使用するまずMySQLにログインします。フォーマット: ...
VMに慣れた後、BOXに切り替えるのは少し異なります。たとえば、コピーネットワークカードを2枚使って...
目次1. はじめに2. axiosインターセプターを使用してフロントエンドログを出力する1. はじめ...
概要私は 1 年以上 Docker を使用しています。最近、サービスをすばやくオーケストレーションし...
新しい Linux ディストリビューションには rc.local ファイルがなくなりました。サービス...
イベントとは、クリック、マウスオーバー、ページの読み込み後にトリガーされる読み込みイベントなど、ユー...
1. ドキュメントフローとフローティング1. ドキュメントフローとは何ですか? HTML では、ドキ...
Ubuntu では中国語入力方法の解決策はありません。仮想マシンや Ubuntu システムをインスト...