JavaScriptによるセレン:自動化試験からの入門


Webアプリケーションの拡大している範囲で、テクノロジーと機能性に関して、ユーザー予想は多様体を増やしました.数週間ごとに、新機能は、より高いユーザーの約束のためのWebアプリケーションに追加されます.これらの機能をテストし、UIがうまく動作していることを確認するためには、自動テストが必要です.世界中のテスターのために、セレンは自動テストを実行するための最初の選択です.
セレンはCソース、Java、Perl、ルビー、JavaScriptなどのようなスクリプト言語の数をサポートするオープンソースの自動化テストツールです.
JavaScriptは、それがスクリプトになるとき、人気がある選択ですStackOverflow's Annual Survey 2021 それは61.51 %に愛されていて、82000 +回答者の38.49 %によって恐れられます.


なぜ開発者はセレンテストスクリプトを書くためのJavaScriptを好むのか?
JavaScriptはWebアプリケーションの開発に広く使われています.Webアプリケーションの大部分は、平均スタック(MongoDB、expression . js、angularjs、およびノード. js)を使って開発されています.
  • JavaScriptを持つセレンWebdriverは、アプリケーションの自動UIテストを実行するための好ましい組み合わせです.
  • JavaScriptは、よく構築された、構造化されたパターンと機能を持つ効率を提供し、スクリプトをよりコンパクトにします.
  • これは、セキュリティを提供し、よく開発者の大規模なコミュニティによってサポートされています.
  • これらはオープンソースであり、コストがかかりません.
  • 自動テストのためのスクリプト言語を選択する前に、テスト中のアプリケーションの詳細な評価を行うことが必須ですSelenium WebDriver .

    JavaScriptを使ってセレンを使い始める
    セレンは、それがテストに来るとき、大きな柔軟性を提供します.それは、Windows、Linux、SolarisやChrome、Firefox、EDGE、IE、またはSafariのようなブラウザのようなプラットフォームであるかどうか、セレンはプラットフォーム独立、クロスブラウザのテスト機能を許可しないライセンスコスト.
    ここでは、セレンWebdriverとJavaScriptを使用してアプリケーションの自動化されたUIテストを開始する方法です.

    セットアップ設定の前提条件
  • ノード.JS(NPM、すなわちノードパッケージマネージャにバンドルされています).JavaでMavenを使用するのが快適な人にとって、これはJSのための同等のパッケージマネージャであると考えてください.
  • コードを書き込む任意のIDE.この記事の例はEclipseを使用します.

  • ステップ1 :インストールノード.JS NPM
    一つの缶download Node.js and npm , 次に、ターミナルに次のコマンドを実行してインストールされていることを確認します.node -v (to check Node.js is installed) npm -v (to check npm is installed)ユーザーがノードをインストールしたら.JSは、NPM、JS用のセレンをインストールするために使用される作り付けのパッケージマネージャへのアクセスを取得します.

    Step 2 : NetBeans IDEドライバのインストール
    Selenium WebDriverをダウンロードし、次のコマンドを端末で実行することでインストールできます.npm install –save selenium-webdriver(- saveは新しいパッケージを作成します.プロジェクトのpackage . jsonファイルに保存されます).
    これからpage , セレンが別のブラウザをコマンドに使用する実際のドライバへのダウンロードリンクを取得します.
    それは非常にテスターが(例えば、クロームとFirefox)で動作したいドライバへのリンクをダウンロードすることをお勧めします.別のディレクトリに別のフォルダに保存し、それらのフォルダをシステムパスに追加します.これが完了すると、セレンは、それらの実行可能ファイルを使用して、ユーザーがそれを指示するブラウザを起動することができます.

    ステップ3 : Eclipseのインストール
    自動化テストを実行するには、IDEはテストスクリプトを書くために必要なプラットフォームです.ここではEclipseを使用します.あなたはdownload Eclipse , ダウンロードしたファイルを実行します.

    ステップ4 : NetBeans IDEドライバとクライアントの言語バインディングをインストールする
    セレンWebdriverとクライアント言語バインディングは、Webドライバとクライアントの間の接続を確立し、テストを実行するために重要です.ここでは、セレンウェブドライバとクライアント言語のバインドをインストールするリンクです.
  • Download JavaScript Language Bindings
  • Changelog
  • API Docs

  • Step 5 : JavaScriptとセレンを使用したテストスクリプトの作成と実行
    JavaScriptを使って最初のテストスクリプトを書きましょう.コードは、Googleに移動します.COMページと、その機能を使用してコンソール上でタイトルを取得します.
    var webdriver = require(‘selenium-webdriver’);
    
    var browser_name = new webdriver.Builder();
    
    withCapabilities(webdriver.Capabilities.firefox()).build();
    
    browser.get(‘http:/www.google.com’);
    
    var promise = browser_name.getTitle();
    
    promise.then(function(title) 
    
    {
    
    console.log(title);
    
    });
    
    browser.quit();
    
    このコードはセレンWebDriverのインスタンスを脇に置き、WebDriverとFirefoxプラグインを使用してブラウザを構築します.ブラウザでは、コードがGoogleを開き、その約束を使用してタイトルを取得します.このタイトルは、ブラウザを終了する前にコンソールに出力として送信されます.

    セレンWebdriverでJavaScriptを使用するためのベストプラクティス
    ここでは、自動テストのためのセレンとJavaScriptを使用している間に従うベストプラクティスの一部です

  • 右のロケータを使用します.
    セレンフレームワークがブラウザと対話することを意図しているので、DOM(Document Object Model)を持つオブジェクトのより良いナビゲーションのために適切なロケータを使用することが不可欠です.
  • -データ駆動テストを実行する
    正確な結果のために、それがより速く機能テストを実行するのを助けるので、テストがデータ駆動であることを確認してください.
    - pageObjectを使用する
    全体的なメンテナンスを強化し、冗長性と重複を減らすために、PageObjectを使用してください.ここで、Webページはクラスとして定義され、その上の様々な要素は変数として定義されます.そこではユーザの相互作用がメソッドの形で実装されます.
    -右セレクタの順序を選択します.
    セレクタの順序は、より高速なテストに重要です.より良い結果を得るために適切なセレクタの順序を取得します.セレンの別のロケータについて学んでください.
    セレンWebdriverは、これまで以上に自動化テストをより簡単で、より効率的にしました.JavaScriptを使用してテストスクリプトを作成することで、アプリケーションの自動UIテストを実行するのは簡単です.これは特に開発サイクルが短く、機能がユーザーの需要に追いつくために数週間ごとに追加する必要がある場合に便利です.
    セレンは広くそれが提供する柔軟性のためにお勧めします.これは、Windows、Linuxなどの主要なプラットフォームをサポートしていますクロム、IE、EDGE、Firefox、Safariのようなブラウザだけでなく、Ruby、Perl、Cのけんか、Python、Java、JavaScriptのような多数のスクリプト.Testng Frameworkのようなツールの統合で、さらに分析のためのテスト結果を得ることができ、アプリケーションを改善できます.
    最適なユーザーエクスペリエンスを持つアプリケーションを作成するには、ブラウザと実際のデバイスへのアクセスを提供するブラウザースタックのような、クラウドベースの自動化セレンテストツールを使用します.実際のデバイスクラウドのテストは、シームレスなクロスプラットフォームの経験を提供することができます.