セレンはどのように機能しますか? 内部の仕組みを説明していただけますか。
4 に答える
まず、ブラウザを自動化し、イベントをシミュレートし、テストを実行および検証するために使用される JavaScript コードのレイヤーがあります。次に、この JavaScript コードを挿入するプロキシ サーバーを実行します。次に、一連のコマンドを使用して、別のポートを介してこのプロキシ サーバーと通信できます。これにより、プロキシ サーバーは、実行中のブラウザーで実行 (またはリモート コントロール) する JavaScript コードを挿入します。このフレームワークを使用すると、ブラウザ用のマクロを書くのと非常によく似たスタイルで、自動化されたテスト スクリプトを書くことができます。
かなりの画像もあります。:)
I)セレンRCの場合、プロセスは次のようになります。
- スクリプトがセレンサーバー(特定のポートで開始した)に到達します
- サーバースクリプトでは「Java Script」に変換されます(これはすべてのブラウザで理解できます)
- 次に、ブラウザに到達し、スクリプトに基づいてさらにアクションを実行します(タイプ、クリックなど)。要素が見つからない場合は、例外が発生します。:)
II) Selenium Webdriver の場合、プロセスは次のようになります。
- 上記のプロセスの代わりに、スクリプトは指定されたブラウザーに直接対話します (ブラウザー API を使用) -> その後、さらにアクションを実行します。
基本的には次のプリンシパルで動作します。最初に、ドライバーが起動したブラウザーに表示される HTML ドキュメントで検索することにより、ロケーターで指定した要素を検索します。要素を見つけた後、オブジェクトの場所を取得します。その場所を取得した後、MOUSECLICK MOUSE Move などの ROBOT クラス メソッドを使用して、これらの場所でアクションを実行します。これが機能することを願っています :-)