Selenium-quick-guide

提供:Dev Guides
移動先:案内検索

セレン-概要

前書き

Seleniumは、Webアプリケーションをテストするためのオープンソースでポータブルな自動ソフトウェアテストツールです。 さまざまなブラウザーとオペレーティングシステムで動作する機能があります。 Seleniumは単一のツールではなく、テスターがWebベースのアプリケーションをより効率的に自動化するのに役立つツールのセットです。

ここで、Seleniumスイートで使用可能な各ツールとその使用方法を理解しましょう。

Sr.No. Tool & Description
1

Selenium IDE

Selenium * I tegrated D evelopment E *nvironment(IDE)は、テストする必要のあるワークフローに従ってテスターがアクションを記録できるFirefoxプラグインです。

2
  • Selenium RC*

Selenium * R emote C *ontrol(RC)は、単純なブラウザーアクションと線形実行以上のものを可能にする主要なテストフレームワークでした。 Java、C#、PHP、Python、Ruby、PERLなどのプログラミング言語のフルパワーを利用して、より複雑なテストを作成します。

3
  • Selenium WebDriver*

Selenium WebDriverは、コマンドをブラウザに直接送信して結果を取得するSelenium RCの後継です。

4

Selenium Grid

Selenium Gridは、異なるマシンと異なるブラウザーで同時に並行テストを実行するために使用されるツールで、実行時間を最小限に抑えます。

セレンの利点

QTPとSeleniumは、ソフトウェア自動化テストの市場で最も使用されているツールです。 したがって、QTPよりもSeleniumの長所を比較することは理にかなっています。

Selenium QTP
Selenium is an open-source tool. QTP is a commercial tool and there is a cost involved in each one of the licenses.
Can be extended for various technologies that expose DOM. Limited add-ons and needs add-ons for each one of the technologies.
Has capabilities to execute scripts across different browsers. Can run tests in specific versions of Firefox , IE, and Chrome.
Can execute scripts on various operating systems. Works only with Windows.
Supports mobile devices. Supports mobile devices with the help of third-party tools.
Executes tests within the browser, so focus is NOT required while script execution is in progress. Needs Focus during script execution, as the tool acts on the browser (mimics user actions).
Can execute tests in parallel with the use of Selenium Grids. QTP cannot execute tests in parallel, however integrating QTP with QC allows testers to execute in parallel. QC is also a commercial tool.

セレンの欠点

QTPを介したSeleniumの落とし穴について説明しましょう。

Selenium QTP
Supports only web based applications. Can test both web and desktop applications.
No feature such as Object Repository/Recovery Scenario QTP has built-in object repositories and recovery scenarios.
No IDE, so the script development won’t be as fast as QTP. More intuitive IDE; automation can be achieved faster.
Cannot access controls within the browser. Can access controls within the browser such as favorites bar, backward, and forward buttons.
No default test report generation. Default test result generation within the tool.
For parameterization, users has to rely on the programming language. Parameterization is built-in and easy to implement.

セレン-IDE

Selenium-IDE(統合開発環境)は、Seleniumテストケースを開発するための使いやすいFirefoxプラグインです。 Seleniumの学習と使用に使用されるFirefoxを使用してユーザーアクションを記録するためのグラフィカルユーザーインターフェイスを提供しますが、他のブラウザーはサポートされていないため、Firefoxブラウザーでのみ使用できます。

ただし、記録されたスクリプトは、Seleniumがサポートするさまざまなプログラミング言語に変換でき、スクリプトは他のブラウザーでも実行できます。

次の表に、この章で説明するセクションを示します。

Sr.No. Title & Description
1

Download Selenium IDE

このセクションでは、Selenium IDEをダウンロードして構成する方法について説明します。

2

Selenium IDE Features

このセクションでは、Selenium IDEで利用可能な機能について説明します。

3

Creating Selenium IDE Tests

このセクションでは、記録機能を使用してIDEテストを作成する方法について説明します。

4

Selenium IDE Script Debugging

このセクションでは、Selenium IDEスクリプトのデバッグについて説明します。

5

Inserting Verification Points

このセクションでは、Selenium IDEに検証ポイントを挿入する方法について説明します。

6

Selenium Pattern Matching

このセクションでは、IDEを使用して正規表現を操作する方法について説明します。

7

Selenium User Extensions

ユーザーが新しい機能をカスタマイズまたは追加できるようにするJavaスクリプト。

8

Different Browser Execution

このセクションでは、さまざまなブラウザーでSelenium IDEスクリプトを実行する方法について説明します。

Selenium-環境のセットアップ

Selenium RCまたはWebDriverスクリプトを開発するには、ユーザーは初期構成が完了していることを確認する必要があります。 環境のセットアップには、次の手順が含まれます。

  • Javaのダウンロードとインストール
  • Eclipseをダウンロードして構成する
  • FireBugとFirePathを構成する
  • Selenium RCを構成する
  • Selenium WebDriverを構成する

Javaのダウンロードとインストール

Selenium WebDriver/Seleniumを使用するには、JDK(Java Development Kit)をインストールする必要があります。 Javaをダウンロードしてインストールする方法を見てみましょう。

  • ステップ1 *-URに移動します。

https://www.oracle.com/technetwork/java/javase/downloads/indexl

  • ステップ2 *-[ダウンロード]セクションに移動し、[JDKダウンロード]を選択します。

Selenium IDE 30

  • ステップ3 *-「ライセンス契約に同意する」ラジオボタンを選択します。

Selenium IDE 31

  • ステップ4 *-適切なインストールを選択します。 この場合、「Windows 7-64」ビットです。 適切なリンクをクリックして、.exeファイルをディスクに保存します。

Selenium IDE 32

  • ステップ5 *-ダウンロードしたexeファイルを実行して、インストーラーウィザードを起動します。 [次へ]をクリックして続行します。

Selenium IDE 33

  • ステップ6 *-機能を選択し、[次へ]をクリックします。

Selenium IDE 34

  • ステップ7 *-インストーラーが抽出され、その進行状況がウィザードに表示されます。

Selenium IDE 35

  • ステップ8 *-ユーザーはインストール場所を選択し、[次へ]をクリックできます。

Selenium IDE 36

  • ステップ9 *-インストーラーはJDKをインストールし、新しいファイルがコピーされます。

Selenium IDE 37

  • ステップ10 *-インストーラーは正常にインストールされ、ユーザーに表示されます。

Selenium IDE 38

  • ステップ11 *-インストールが成功したかどうかを確認するには、コマンドプロンプトに移動し、コマンドとして「java」と入力します。 コマンドの出力を以下に示します。 Javaのインストールが失敗した場合、またはインストールされていない場合、「不明なコマンド」エラーがスローされます。

Selenium IDE 48

Eclipseをダウンロードして構成する

Selenium IDE 39

  • ステップ2 *-[ダウンロード]ボタンをクリックします。

Selenium IDE 40

  • ステップ3 *-ダウンロードはzip形式になります。 内容を解凍します。

Selenium IDE 41

  • ステップ4 *-Eclipse.exeを見つけて、ファイルをダブルクリックします。

Selenium IDE 42

  • ステップ5 *-ワークスペースを構成するには、開発を行う必要がある場所を選択します。

Selenium IDE 43

  • ステップ6 *-Eclipseウィンドウが次のように開きます。

Selenium IDE 44

FireBugとFirePathを構成する

Selenium RCまたはWebDriverを使用するには、XPathまたはIDまたは名前などに基づいて要素を見つける必要があります。 要素を見つけるには、ツール/プラグインが必要です。

Selenium IDE 62

  • ステップ2 *-アドオンインストーラーがユーザーに表示され、[インストール]ボタンをクリックするとインストールされます。

Selenium IDE 63

  • ステップ3 *-インストール後、「Web Developer」>>「Firebug」に移動してプラグインを起動できます。

Selenium IDE 64

Selenium IDE 65

  • ステップ5 *-アドオンインストーラーがユーザーに表示され、[インストール]ボタンをクリックするとインストールされます。

Selenium IDE 66

  • ステップ6 *-「ツール」>>「Webdeveloper」>>「Firebug」に移動して、「Firebug」を起動します。

Selenium IDE 67

次に、例とともにFireBugとFirePathの使用方法を理解しましょう。 デモンストレーションでは、www.google.comを使用して、「google.com」のテキストボックスのプロパティをキャプチャします。

  • ステップ1 *-最初に、次のスクリーンショットで強調表示されている矢印アイコンをクリックして、プロパティをキャプチャするオブジェクトにドラッグします。 オブジェクトのHTML/DOMは、次のように表示されます。 対話できる入力テキストボックスの「ID」をキャプチャできます。

Selenium IDE 68

  • ステップ2 *-オブジェクトのXPathを取得するには、「firepath」タブに移動し、次の手順を実行します。
  • スパイアイコンをクリックします。
  • XPathをキャプチャするコントロールを選択します。
  • 選択したコントロールのXPathが生成されます。

Selenium IDE 69

Selenium RCを構成する

次に、Selenium Remoteコントロールの設定方法を見てみましょう。 後の章でSelenium RCを使用してスクリプトを開発する方法を理解しますが、ここでは、その構成部分のみを理解します。

  • ステップ1 *-Seleniumのダウンロードセクションhttp://www.seleniumhq.org/download/に移動し、以下に示すようにバージョン番号をクリックしてSelenium Serverをダウンロードします。

Selenium IDE 45

  • ステップ2 *-ダウンロード後、Selenium Serverを起動する必要があります。 これを行うには、コマンドプロンプトを開き、ダウンロードしたJARファイルが保存されているフォルダーに移動します(以下を参照)。

Selenium IDE 46

  • ステップ3 *-サーバーを起動するには、コマンド 'java -jar << downloaded jar name >>を使用します。JavaJDKが適切にインストールされている場合、以下に示すような成功メッセージが表示されます。 これで、Selenium RCスクリプトの作成を開始できます。

Selenium IDE 47

Selenium WebDriverを構成する

次に、Selenium WebDriverを構成する方法を見てみましょう。 後の章でSelenium WebDriverを使用してスクリプトを開発する方法を理解しますが、ここでは、その構成部分のみを理解します。

  • ステップ1 *-seleniumのダウンロードセクションhttp://www.seleniumhq.org/download/に移動し、以下に示すようにバージョン番号をクリックしてSelenium WebDriverをダウンロードします。

Selenium IDE 49

  • ステップ2 *-ダウンロードしたファイルはzip形式であり、コンテンツを解凍してプロジェクトフォルダーにマップする必要があります。

Selenium IDE 49

  • ステップ3 *-以下に示すように、解凍されたコンテンツが表示されます。 プロジェクトフォルダーにマップする方法とスクリプトを開始する方法については、webDriverの章で説明します。

Selenium IDE 51

セレン-リモートコントロール

Selenium RCとは何ですか?

Selenium Remote Control(RC)は、Selenium WebDriver(Selenium 2.0)が登場するまで長い間続いていたメインのSeleniumプロジェクトでした。 現在、WebDriverはより強力な機能を提供するため、Selenium RCはほとんど使用されていませんが、ユーザーは引き続きRCを使用してスクリプトを開発できます。

Java、C#、Perl、Python、PHPなどのプログラミング言語のフルパワーを活用して自動化されたWebアプリケーションUIテストを作成し、ファイルの読み取りと書き込み、データベースのクエリ、テスト結果の電子メール送信などのより複雑なテストを作成できます。

Selenium RCアーキテクチャ

Selenium RCは、クライアントライブラリがSelenium RCサーバーと通信して、実行する各Seleniumコマンドを渡すことができるように機能します。 次に、サーバーはSelenium-Core JavaScriptコマンドを使用してSeleniumコマンドをブラウザーに渡します。

ブラウザは、JavaScriptインタープリターを使用してSeleniumコマンドを実行します。

Selenium IDE 52

Selenium RCには2つの部分があります。

  • Selenium Serverはブラウザーを起動および終了します。 それに加えて、Seleneseコマンドを解釈して実行します。 また、ブラウザとテスト対象のアプリケーション間で渡されるHTTPメッセージをインターセプトおよび検証することにより、HTTPプロキシとして機能します。
  • プログラミング言語(Java、C#、Perl、Python、およびPHP)のそれぞれとSelenium-RCサーバーとの間のインターフェースを提供するクライアントライブラリ。

RCスクリプト

次に、Selenium Remote Controlを使用してサンプルスクリプトを記述しましょう。 Selenium RCを理解するためにhttp://www.seleniumhq.org/download/[http://www.calculator.net/]を使用してみましょう。 「Math Calculators」モジュールの下にある「Percent Calculator」を使用して、パーセント計算を実行します。

  • ステップ1 *-(コマンドプロンプトを使用して)Selenium Remote Controlを開始します。
  • ステップ2 *-Selenium RCを起動した後、Eclipseを開き、以下に示すように「新しいプロジェクト」を作成します。

Selenium IDE 53

  • ステップ3 *-プロジェクト名を入力し、[次へ]ボタンをクリックします。

Selenium IDE 54

  • ステップ4 *-ソース、プロジェクト、ライブラリ、および出力フォルダーを確認し、「完了」をクリックします。

Selenium IDE 55

  • ステップ5 *-「プロジェクト」コンテナを右クリックし、「ビルドパスの構成」を選択します。

Selenium IDE 56

  • ステップ6 *-「selrcdemo」のプロパティが開きます。 「ライブラリ」タブに移動し、「外部JARの追加」を選択します。 ダウンロードしたSelenium RC jarファイルを選択すると、次のように表示されます。

Selenium IDE 57

  • ステップ7 *-参照されるライブラリは、以下のように表示されます。

Selenium IDE 58

  • ステップ8 *-「src」フォルダを右クリックして「新規」>>「クラス」を選択して、新しいクラスファイルを作成します。

Selenium IDE 59

  • ステップ9 *-クラスファイルの名前を入力し、以下に示すように「public static void main」を有効にします。

Selenium IDE 60

  • ステップ10 *-作成されたクラスは、以下に示すようにフォルダー構造の下に作成されます。

Selenium IDE 70

  • ステップ11 *-コーディングの時間です。 次のコードにはコメントが埋め込まれており、読者に何が出されたかを理解させることができます。
package selrcdemo;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class rcdemo {
   public static void main(String[] args) throws InterruptedException {

     //Instatiate the RC Server
      Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
      selenium.start();  //Start
      selenium.open("/"); //Open the URL
      selenium.windowMaximize();

     //Click on Link Math Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
      Thread.sleep(2500);//Wait for page load

     //Click on Link Percent Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
      Thread.sleep(4000);//Wait for page load

     //Focus on text Box
      selenium.focus("name = cpar1");

     //enter a value in Text box 1
      selenium.type("css=input[name = \"cpar1\"]", "10");

     //enter a value in Text box 2
      selenium.focus("name = cpar2");
      selenium.type("css = input[name = \"cpar2\"]", "50");

     //Click Calculate button
      selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");

     //verify if the result is 5
      String result = selenium.getText(".//*[@id = 'content']/p[2]");

      if (result == "5") {
         System.out.println("Pass");
      } else {
         System.out.println("Fail");
      }
   }
}
  • ステップ12 *-次に、「実行」ボタンをクリックしてスクリプトを実行します。

Selenium IDE 72

  • ステップ13 *-スクリプトの実行が開始され、ユーザーは[コマンド履歴]タブでコマンド履歴を確認できます。

Selenium IDE 71

  • ステップ14 *-アプリケーションの最終状態を以下に示します。 割合が計算され、以下に示すように画面に結果が表示されます。

Selenium IDE 73

  • ステップ15 *-テストの出力は、以下に示すようにEclipseコンソールに出力されます。コンソールに出力を出力したためです。 リアルタイムでは、出力はHTMLファイルまたは単純なテキストファイルに書き込まれます。

Selenium IDE 74

Selenium-Seleneseコマンド

コマンドとは、Seleniumが行うべきことを指し、seleniumのコマンドには3つのタイプがあります。 コマンドの詳細については、それぞれをクリックしてください。

  • リンク:/selenium/selenium_commands_actions [アクション]
  • リンク:/selenium/selenium_commands_accessors [アクセサ]
  • リンク:/selenium/selenium_commands_assertions [アサーション]

ロケーター

要素ロケーターは、コマンドが参照するHTML要素をSeleniumが識別するのに役立ちます。 これらのロケーターはすべて、FirePathおよびMozillaのFireBugプラグインを使用して特定できます。 詳細については、環境設定の章を参照してください。

  • identifier = id 指定された「id」属性を持つ要素を選択し、一致しない場合は、@ name属性がidである最初の要素を選択します。
  • id = id 指定された「id」属性を持つ要素を選択します。
  • name = name 指定された「name」属性を持つ最初の要素を選択します
  • dom = javascriptExpression Seleniumは、JavaScriptを使用してHTMLドキュメントオブジェクトモデルを走査できるように、指定された文字列を評価することで要素を見つけます。 ユーザーは値を返すことはできませんが、ブロック内の式として評価できます。
  • xpath = xpathExpression XPath式を使用して要素を見つけます。
  • link = textPattern 指定されたパターンに一致するテキストを含むリンク要素(アンカータグ内)を選択します。
  • css = cssSelectorSyntax cssセレクターを使用して要素を選択します。

セレン-Webdriver

WebDriverは、Webアプリケーションのテストを自動化するためのツールです。 一般にSelenium 2.0として知られています。 WebDriverは別の基盤フレームワークを使用しますが、Selenium RCはブラウザーに埋め込まれたJavaScript Selenium-Coreを使用しますが、これにはいくつかの制限があります。 WebDriverは、サーバーに依存するSelenium RCとは異なり、仲介なしでブラウザーと直接対話します。 次のコンテキストで使用されます-

  • Selenium RC(Selenium 1.0)で十分にサポートされていないブラウザ向けの改善された機能を含むマルチブラウザテスト。
  • 複数のフレーム、複数のブラウザーウィンドウ、ポップアップ、およびアラートの処理。
  • 複雑なページナビゲーション。
  • ドラッグアンドドロップなどの高度なユーザーナビゲーション。
  • AJAXベースのUI要素。

建築

WebDriverは、以下に示す単純なアーキテクチャ図で最もよく説明されます。

Selenium IDE 92

Selenium RC Vs WebDriver

Selenium RC Selenium WebDriver
The architecture of Selenium RC is complicated, as the server needs to be up and running before starting a test. WebDriver’s architecture is simpler than Selenium RC, as it controls the browser from the OS level.
Selenium server acts as a middleman between the browser and Selenese commands. WebDriver interacts directly with the browser and uses the browser’s engine to control it.
Selenium RC script execution is slower, since it uses a Javascript to interact with RC. WebDriver is faster, as it interacts directly with the browser.
Selenium RC cannot support headless execution as it needs a real browser to work with. WebDriver can support the headless execution.
It’s a simple and small API. Complex and a bit large API as compared to RC.
Less object-oriented API. Purely object oriented API.
Cannot test mobile Applications. Can test iPhone/Android applications.

WebDriverを使用したスクリプティング

WebDriverの使用方法を理解しましょう。 デモンストレーションには、https://www.calculator.net/を使用します。 「Math Calculator」の下にある「Percent Calculator」を実行します。 必要なWebDriver JARをすでにダウンロードしています。 詳細については、「環境設定」の章を参照してください。

  • ステップ1 *-抽出されたEclipseフォルダーから「Eclipse」を起動します。

Selenium IDE 75

  • ステップ2 *-[参照]ボタンをクリックしてワークスペースを選択します。

Selenium IDE 76

  • ステップ3 *-「ファイル」メニューから「新しいプロジェクト」を作成します。

Selenium IDE 53

  • ステップ4 *-プロジェクト名を入力し、「次へ」をクリックします。

Selenium IDE 77

  • ステップ5 *-[ライブラリ]タブに移動し、ダウンロードしたすべてのJARを選択します。 Selenium WebDriver LibraryフォルダーのすべてのJARへの参照と、selenium-java-2.42.2.jarおよびselenium-java-2.42.2-srcs.jarへの参照を追加します。

Selenium IDE 78

  • ステップ6 *-パッケージは次のように作成されます。

Selenium IDE 79

  • ステップ7 *-パッケージを右クリックし、「新規」>>「クラス」を選択して「クラス」を作成します。

Selenium IDE 82

  • ステップ8 *-クラスに名前を付けて、メイン関数にします。

Selenium IDE 80

  • ステップ9 *-クラスの概要を以下に示します。

Selenium IDE 81

  • ステップ10 *-さあ、コーディングの時間です。 次のスクリプトは、手順を明確に説明するコメントが埋め込まれているため、理解しやすくなっています。 オブジェクトのプロパティをキャプチャする方法を理解するには、「ロケーター」の章をご覧ください。
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;

public class webdriverdemo {
   public static void main(String[] args) {

      WebDriver driver = new FirefoxDriver();
     //Puts an Implicit wait, Will wait for 10 seconds before throwing exception
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

     //Launch website
      driver.navigate().to("http://www.calculator.net/");

     //Maximize the browser
      driver.manage().window().maximize();

     //Click on Math Calculators
      driver.findElement(By.xpath(".//*[@id = 'menu']/div[3]/a")).click();

     //Click on Percent Calculators
      driver.findElement(By.xpath(".//*[@id = 'menu']/div[4]/div[3]/a")).click();

     //Enter value 10 in the first number of the percent Calculator
      driver.findElement(By.id("cpar1")).sendKeys("10");

     //Enter value 50 in the second number of the percent Calculator
      driver.findElement(By.id("cpar2")).sendKeys("50");

     //Click Calculate Button
      driver.findElement(By.xpath(".//*[@id = 'content']/table/tbody/tr[2]/td/input[2]")).click();


     //Get the Result Text based on its xpath
      String result =
         driver.findElement(By.xpath(".//*[@id = 'content']/p[2]/font/b")).getText();


     //Print a Log In message to the screen
      System.out.println(" The Result is " + result);

     //Close the Browser.
      driver.close();
   }
}
  • ステップ11 *-上記のスクリプトの出力はコンソールに出力されます。

Selenium IDE 83

最も使用されるコマンド

以下の表は、WebDriverで最も頻繁に使用されるコマンドの一部とその構文を示しています。

Sr.No. Command & Description
1

driver.get("URL")

アプリケーションに移動します。

2

element.sendKeys("inputtext")

入力ボックスにテキストを入力します。

3

element.clear()

入力ボックスから内容を消去します。

4

select.deselectAll()

ページの最初のSELECTからすべてのオプションを選択解除します。

5

select.selectByVisibleText("some text")

ユーザーが指定した入力でOPTIONを選択します。

6

driver.switchTo().window("windowName")

あるウィンドウから別のウィンドウにフォーカスを移動します。

7

driver.switchTo().frame("frameName")

フレームからフレームへスイングします。

8

driver.switchTo().alert()

アラートの処理に役立ちます。

9

driver.navigate().to("URL")

URLに移動します。

10

driver.navigate().forward()

前方に移動します。

11

driver.navigate().back()

ナビゲートします。

12

driver.close()

ドライバーに関連付けられている現在のブラウザーを閉じます。

13

driver.quit()

ドライバーを終了し、そのドライバーに関連付けられているすべてのウィンドウを閉じます。

14

driver.refresh()

現在のページを更新します。

セレン-ロケーター

Selenium WebDriverでの要素の検索は、WebDriverおよびWebElementクラスによって提供されるfindElement()およびfindElements()メソッドの助けを借りて実行されます。

  • findElement()は、指定された検索条件に基づいてWebElementオブジェクトを返すか、検索条件に一致する要素が見つからない場合に例外をスローします。
  • findElements()は、検索条件に一致するWebElementsのリストを返します。 要素が見つからない場合、空のリストを返します。

次の表は、Selenium WebDriverで要素を見つけるためのすべてのJava構文を示しています。

Method Syntax Description
By ID driver.findElement(By.id (<element ID>)) Locates an element using the ID attribute
By name driver.findElement(By.name (<element name>)) Locates an element using the Name attribute
By class name driver.findElement(By.className (<element class>)) Locates an element using the Class attribute
By tag name driver.findElement(By.tagName (<htmltagname>)) Locates an element using the HTML tag
By link text driver.findElement(By.linkText (<linktext>)) Locates a link using link text
By partial link text driver.findElement(By.partialLinkText (<linktext>)) Locates a link using the link’s partial text
By CSS driver.findElement(By.cssSelector (<css selector>)) Locates an element using the CSS selector
By XPath driver.findElement(By.xpath (<xpath>)) Locates an element using XPath query

ロケーターの使用

https://www.calculator.netの助けを借りて、各ロケーターメソッドの実際の使用法を理解しましょう。

IDで

ここでは、IDを使用してオブジェクトにアクセスします。 この場合、それはテキストボックスのIDです。 ID(cdensity)を使用してsendkeysメソッドを使用して、テキストボックスに値を入力します。

Selenium IDE 84

driver.findElement(By.id("cdensity")).sendKeys("10");

名前で

ここでは、名前の助けを借りてオブジェクトにアクセスします。 この場合、それはテキストボックスの名前です。 ID(cdensity)を使用してsendkeysメソッドを使用して、テキストボックスに値を入力します。

Selenium IDE 85

driver.findElement(By.name("cdensity")).sendKeys("10");

クラス名別

ここでは、クラス名を使用してオブジェクトにアクセスします。 この場合、それはWebElementのクラス名です。 値は、gettextメソッドを使用してアクセスできます。

Selenium IDE 86

List<WebElement> byclass = driver.findElements(By.className("smalltext smtb"));

タグ名別

要素のDOMタグ名を使用して、WebDriverで特定の要素を見つけることができます。 この方法を使用すると、テーブルを簡単に処理できます。 次のコードを見てください。

WebElement table = driver.findElement(By.id("calctable"));
List<WebElement> row = table.findElements(By.tagName("tr"));
int rowcount = row.size();

リンクテキスト

このメソッドは、一致する可視テキストを持つリンク要素を見つけるのに役立ちます。

Selenium IDE 87

driver.findElements(By.linkText("Volume")).click();

部分的なリンクテキスト

このメソッドは、部分的に一致する可視テキストを持つリンク要素を見つけるのに役立ちます。

Selenium IDE 87

driver.findElement(By.partialLinkText("Volume")).click();

CSSで

CSSはWebオブジェクトを識別する方法として使用されますが、すべてのブラウザーがCSS識別をサポートしているわけではありません。

WebElement loginButton = driver.findElement(By.cssSelector("input.login"));

XPathによる

XPathはXMLパス言語の略です。 これは、XMLドキュメントからノードを選択するためのクエリ言語です。 XPathはXMLドキュメントのツリー表現に基づいており、さまざまな基準を使用してノードを選択することでツリー内をナビゲートする機能を提供します。

Selenium IDE 88

driver.findElement(By.xpath(".//*[@id = 'content']/table[1]/tbody/tr/td/table/tbody/tr[2]/td[1]/input")).sendkeys("100");

Selenium-ユーザーインタラクション

Selenium WebDriverは、Seleniumツールセットで利用可能なすべてのツールの中で最も頻繁に使用されるツールです。 したがって、Seleniumを使用してWebアプリと対話する方法を理解することが重要です。 このモジュールでは、Selenium webDriverを使用してGUIオブジェクトと対話する方法を理解しましょう。

定義済みのコマンドがないユーザー定義関数を開発することにより、いくつかの基本アクションまたは高度なユーザーアクションを使用してアプリケーションと対話する必要があります。

以下に、これらのGUIオブジェクトに対するさまざまな種類のアクションを示します-

  • リンク:/selenium/selenium_textbox [テキストボックスの相互作用]
  • リンク:/selenium/selenium_radio_button [ラジオボタンの選択]
  • リンク:/selenium/selenium_check_box [チェックボックスの選択]
  • link:/selenium/selenium_drop_down [ドロップダウンアイテムの選択]
  • リンク:/selenium/selenium_synchronization [同期]
  • リンク:/selenium/selenium_drag_drop [ドラッグアンドドロップ]
  • リンク:/selenium/selenium_keyboard_actions [キーボードアクション]
  • リンク:/selenium/selenium_mouse_actions [マウスアクション]
  • リンク:/selenium/selenium_multi_select [複数選択]
  • link:/selenium/selenium_find_all_links [すべてのリンクを検索]

セレン-テスト設計手法

テストの設計にはさまざまなコンポーネントが関係しています。 フレームワークの設計に関係するいくつかの重要なコンポーネントも理解しましょう。 この章では次のトピックを学びます-

  • リンク:/selenium/selenium_page_object_model [ページオブジェクトモデル]
  • リンク:/selenium/selenium_parameterizing_using_excel [Excelを使用したパラメーター化]
  • リンク:/selenium/selenium_log4j_logging [Log4j Logging]
  • リンク:/selenium/selenium_exception_handling [例外処理]
  • リンク:/selenium/selenium_multi_browser_testing [マルチブラウザテスト]
  • リンク:/selenium/selenium_capture_screenshots [キャプチャスクリーンショット]
  • リンク:/selenium/selenium_capture_video [キャプチャ動画]

セレン-TestNG

TestNGは強力なテストフレームワークであり、TestNGが登場する前から長い間使用されていたJUnitの拡張バージョンです。 NGは「次世代」の略です。

TestNGフレームワークは、次の機能を提供します-

  • 注釈は、テストを簡単に整理するのに役立ちます。
  • 柔軟なテスト構成。
  • テストケースをより簡単にグループ化できます。
  • テストの並列化は、TestNGを使用して実現できます。
  • データ駆動型テストのサポート。
  • 組み込みのレポート。

Eclipse用のTestNGのインストール

  • ステップ1 *-Eclipseを起動し、[新しいソフトウェアのインストール]を選択します。

Selenium IDE 93

Selenium IDE 94

  • ステップ3 *-[リポジトリの追加]ダイアログボックスが開きます。 「TestNG」という名前を入力し、「OK」をクリックします

Selenium IDE 95

  • ステップ4 *-「すべて選択」をクリックすると、図に示すように「TestNG」が選択されます。

Selenium IDE 96

  • ステップ5 *-[次へ]をクリックして続行します。

Selenium IDE 97

  • ステップ6 *-選択されている項目を確認し、[次へ]をクリックします。

Selenium IDE 98

  • ステップ7 *-「ライセンス契約に同意します」をクリックし、「完了」をクリックします。

Selenium IDE 99

  • ステップ8 *-TestNGはインストールを開始し、進行状況は次のように表示されます。

Selenium IDE 100

  • ステップ9 *-ソフトウェアの有効性を確立できないため、セキュリティ警告が表示されます。 「OK」をクリックします。

Selenium IDE 101

  • ステップ10 *-インストーラーは、変更を有効にするためにEclipseを再起動するように求めます。 「はい」をクリックします。

Selenium IDE 102

TestNGの注釈

JDK 5ではJava言語に注釈が正式に追加され、TestNGは注釈を使用してテストクラスに注釈を付けることを選択しました。 以下は、アノテーションを使用する利点の一部です。 TestNGの詳細については、 link:/testng/index [ここ] を参照してください。

  • TestNGは、アノテーションを検索することにより、関心のあるメソッドを識別します。 したがって、メソッド名はパターンや形式に制限されません。
  • 追加のパラメーターを注釈に渡すことができます。
  • 注釈は強く型付けされているため、コンパイラは間違いをすぐに報告します。 *テストクラスは何も拡張する必要がなくなりました(JUnit 3のTestCaseなど)。
Sr.No. Annotation & Description
1
  • @BeforeSuite*

注釈付きメソッドは、このスイートのすべてのテストが実行される前に一度だけ実行されます。

2

@AfterSuite

注釈付きメソッドは、このスイートのすべてのテストが実行された後に一度だけ実行されます。

3

@BeforeClass

注釈付きメソッドは、現在のクラスの最初のテストメソッドが呼び出される前に1回だけ実行されます。

4

@AfterClass

注釈付きメソッドは、現在のクラスのすべてのテストメソッドが実行された後に1回だけ実行されます。

5

@BeforeTest

注釈付きメソッドは、<test>タグ内のクラスに属するテストメソッドが実行される前に実行されます。

6

@AfterTest

注釈付きメソッドは、<test>タグ内のクラスに属するすべてのテストメソッドが実行された後に実行されます。

7

@BeforeGroups

この構成メソッドが以前に実行されるグループのリスト。 このメソッドは、これらのグループのいずれかに属する最初のテストメソッドが呼び出される直前に実行されることが保証されています。

8

@AfterGroups

この構成メソッドが実行されるグループのリスト。 このメソッドは、これらのグループのいずれかに属する最後のテストメソッドが呼び出された直後に実行されることが保証されています。

9

@BeforeMethod

注釈付きメソッドは、各テストメソッドの前に実行されます。

10

@AfterMethod

注釈付きメソッドは、各テストメソッドの後に実行されます。

11

@DataProvider

メソッドをテストメソッドのデータを提供するものとしてマークします。 注釈付きメソッドは、各Object []にテストメソッドのパラメーターリストを割り当てることができるObject [] []を返す必要があります。 このDataProviderからデータを受信する@Testメソッドは、このアノテーションの名前と等しいdataProvider名を使用する必要があります。

12

@Factory

TestNGがTestクラスとして使用するオブジェクトを返すファクトリとしてメソッドをマークします。 メソッドはObject []を返す必要があります。

13

@Listeners

テストクラスのリスナーを定義します。

14

@Parameters

@Testメソッドにパラメーターを渡す方法を説明します。

15

@Test

クラスまたはメソッドをテストの一部としてマークします。

TestNG-Eclipseのセットアップ

  • ステップ1 *-Eclipseを起動し、以下に示すように「新しいJavaプロジェクト」を作成します。

Selenium IDE 53

  • ステップ2 *-プロジェクト名を入力し、「次へ」をクリックします。

Selenium IDE 103

  • ステップ3 *-[ライブラリ]タブに移動し、以下に示すように[外部JARの追加]をクリックして、Selenium Remote ControlサーバーJARファイルを追加します。

Selenium IDE 113

  • ステップ4 *-追加されたJARファイルがここに表示されます。 「ライブラリを追加」をクリックします。

Selenium IDE 104

  • ステップ5 *-[ライブラリの追加]ダイアログが開きます。 [TestNG]を選択し、[ライブラリの追加]ダイアログボックスで[次へ]をクリックします。

Selenium IDE 105

  • ステップ6 *-追加された「TestNG」ライブラリが追加され、以下に示すように表示されます。

Selenium IDE 106

  • ステップ7 *-プロジェクトを作成すると、プロジェクトの構造は次のようになります。

Selenium IDE 107

  • ステップ8 *-'src’フォルダーを右クリックし、[新規] >> [その他]を選択します。

Selenium IDE 108

  • ステップ9 *-「TestNG」を選択し、「次へ」をクリックします。

Selenium IDE 109

  • ステップ10 *-「ソースフォルダー」名を選択し、「OK」をクリックします。

Selenium IDE 110

  • ステップ11 *-「パッケージ名」、「クラス名」を選択し、「完了」をクリックします。

Selenium IDE 111

  • ステップ12 *-パッケージエクスプローラーと作成されたクラスが表示されます。

Selenium IDE 112

TestNGの最初のテスト

次に、TestNGを使用してスクリプトの作成を始めましょう。 WebDriverを理解するために使用したのと同じ例のスクリプトを作成しましょう。 デモアプリケーションhttps://www.calculator.net/[www.calculator.net]を使用して、パーセント計算を実行します。

_次のテストでは、testNGがプログラム実行フローを駆動するため、メインメソッドがないことに気付くでしょう。 ドライバーを初期化した後、「@ BeforeTest」メソッドに続いて「@Test」、「@ AfterTest」の順に実行されます。 クラスには任意の数の「@Test」注釈を含めることができますが、「@ BeforeTest」と「@AfterTest」は一度しか表示できないことに注意してください。

package TestNG;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;

import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class TestNGClass {
   WebDriver driver = new FirefoxDriver();

   @BeforeTest
   public void launchapp() {
     //Puts an Implicit wait, Will wait for 10 seconds before throwing exception
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

     //Launch website
      driver.navigate().to("http://www.calculator.net");
      driver.manage().window().maximize();
   }

   @Test
   public void calculatepercent() {
     //Click on Math Calculators
      driver.findElement(By.xpath(".//*[@id='menu']/div[3]/a")).click();

     //Click on Percent Calculators
      driver.findElement(By.xpath(".//*[@id='menu']/div[4]/div[3]/a")).click();

     //Enter value 10 in the first number of the percent Calculator
      driver.findElement(By.id("cpar1")).sendKeys("10");

     //Enter value 50 in the second number of the percent Calculator
      driver.findElement(By.id("cpar2")).sendKeys("50");

     //Click Calculate Button
      driver.findElement(By.xpath(".//*[@id='content']/table/tbody/tr/td[2]/input")).click();

     //Get the Result Text based on its xpath
      String result =
         driver.findElement(By.xpath(".//*[@id='content']/p[2]/span/font/b")).getText();

     //Print a Log In message to the screen
      System.out.println(" The Result is " + result);

      if(result.equals("5")) {
         System.out.println(" The Result is Pass");
      } else {
         System.out.println(" The Result is Fail");
      }
   }

   @AfterTest
   public void terminatetest() {
      driver.close();
   }
}

実行

実行するには、作成したXMLを右クリックし、[実行] >> [TestNG Suite]を選択します

Selenium IDE 189

結果分析

出力はコンソールにスローされ、次のように表示されます。 コンソール出力には実行サマリーもあります。

Selenium IDE 114

TestNGの結果は、別のタブでも確認できます。 以下に示すように、「HTMLレポートビュー」ボタンをクリックします。

Selenium IDE 115

HTMLの結果は、次のように表示されます。

Selenium IDE 117

セレン-グリッド

Selenium Gridは、複数の物理マシンまたは仮想マシンにテストを分散して、スクリプトを並行して(同時に)実行できるようにするツールです。 迅速かつ正確なフィードバックを提供することで、ブラウザー間およびプラットフォーム間のテストプロセスを劇的に加速します。

Selenium Gridを使用すると、同じコードベースを使用するWebDriverまたはSelenium Remote Controlテストの複数のインスタンスを並行して実行できるため、実行するシステムにコードが存在する必要がありません。 selenium-server-standaloneパッケージには、グリッドでスクリプトを実行するためのHub、WebDriver、およびSelenium RCが含まれています。

Selenium Gridには、ハブとノードがあります。

  • ハブ-ハブは、テストがトリガーされる中心点として機能するサーバーとしても理解できます。 Selenium Gridにはハブが1つしかなく、単一のマシンで一度起動されます。
  • ノード-ノードは、テストを実行するハブに接続されているSeleniumインスタンスです。 グリッドには1つ以上のノードがあり、任意のOSであることができ、Seleniumでサポートされているブラウザーを含めることができます。

建築

次の図は、Selenium Gridのアーキテクチャを示しています。

selenium_ide_121

グリッドでの作業

グリッドを使用するには、特定のプロトコルに従う必要があります。 このプロセスに関与する主な手順は次のとおりです-

  • ハブの構成
  • ノードの構成
  • スクリプトを開発してXMLファイルを準備する
  • テスト実行
  • 結果分析

これらの各ステップについて詳しく説明します。

ハブの構成

selenium_ide_45

  • ステップ2 *-次のコマンドを使用してSelenium Serverを起動し、ハブを起動します。 ここで、ポート「4444」を使用してハブを起動します。

-ポート#4444で実行されている他のアプリケーションがないことを確認してください。

java -jar selenium-server-standalone-2.25.0.jar -port 4444 -role hub -nodeTimeout 1000

selenium_ide_122

  • ステップ3 *-ブラウザーを開き、ハブ(ステップ#2を実行したシステム)からURL http//localhost:4444に移動します。

selenium_ide_123

  • ステップ4 *-「コンソール」リンクをクリックし、「構成の表示」をクリックします。 ハブの構成は次のように表示されます。 現在のところ、ノードはないため、詳細を確認することはできません。

selenium_ide_124

ノードの構成

  • ステップ1 *-ノード(スクリプトを実行する場所)にログオンし、「selenium-server-standalone-2.42.2」をフォルダーに配置します。 ノードの起動中にselenium-server-standalone JARを指す必要があります。
  • ステップ2 *-以下のコマンドを使用してFireFoxノードを起動します。
java -jar D:\JAR\selenium-server-standalone-2.42.2.jar
   -role node -hub http://10.30.217.157:4444/grid/register
   -browser browserName = firefox -port 5555

どこで、

D:\ JAR \ selenium-server-standalone-2.42.2.jar = Selenium ServerスタンドアロンJarファイルの場所(ノードマシン上)

http://10.30.217.157:4444 =ハブのIPアドレスと4444はハブのポート

browserName = firefox(ノードのブラウザー名を指定するパラメーター)

5555 = Firefoxノードが稼働するポート。

selenium_ide_125

selenium_ide_126

  • ステップ4 *-次に、Internet Explorerノードを起動します。 IEノードを起動するには、Internet Explorerドライバーをノードマシンにダウンロードする必要があります。
  • ステップ5 *-Internet Explorerドライバーをダウンロードするには、http://docs.seleniumhq.org/download/に移動し、OSのアーキテクチャに基づいて適切なファイルをダウンロードします。 ダウンロードした後、exeファイルを解凍し、IEノードを起動するときに参照する必要があるフォルダーにそのファイルを配置します。

selenium_ide_131

  • ステップ6 *-次のコマンドを使用してIEを起動します。
C:\>java -Dwebdriver.ie.driver = D:\IEDriverServer.exe
   -jar D:\JAR\selenium-server-standalone-2.42.2.jar
   -role webdriver -hub http://10.30.217.157:4444/grid/register
   -browser browserName = ie,platform = WINDOWS -port 5558

どこで、

D:\ IEDriverServer.exe =ダウンロードされたIEドライバーの場所(ノードマシン上)

D:\ JAR \ selenium-server-standalone-2.42.2.jar = Selenium ServerスタンドアロンJarファイルの場所(ノードマシン上)

http://10.30.217.157:4444 =ハブのIPアドレスと4444はハブのポート

browserName = ie(ノードのブラウザー名を指定するパラメーター)

5558 = IEノードが稼働しているポート。

selenium_ide_127

selenium_ide_128

  • ステップ8 *-Chromeノードを起動します。 Chromeノードを起動するには、ノードマシンにChromeドライバーをダウンロードする必要があります。
  • ステップ9 *-Chromeドライバーをダウンロードするには、http://docs.seleniumhq.org/download/に移動し、次に[サードパーティブラウザードライバー]領域に移動して、以下に示すようにバージョン番号 '2.10’をクリックします。

selenium_ide_132

  • ステップ10 *-OSのタイプに基づいてドライバーをダウンロードします。 Windows環境で実行するため、Windows Chromeドライバーをダウンロードします。 ダウンロードしたら、exeファイルを解凍し、Chromeノードの起動中に参照する必要があるフォルダーに配置します。

selenium_ide_133

  • ステップ11 *-次のコマンドを使用してChromeを起動します。
C:\>java -Dwebdriver.chrome.driver = D:\chromedriver.exe
   -jar D:\JAR\selenium-server-standalone-2.42.2.jar
   -role webdriver -hub  http://10.30.217.157:4444/grid/register
   -browser browserName = chrome, platform = WINDOWS -port 5557

どこで、

D:\ chromedriver.exe =ダウンロードしたchromeドライバーの場所(ノードマシン上)

D:\ JAR \ selenium-server-standalone-2.42.2.jar = Selenium ServerスタンドアロンJarファイルの場所(ノードマシン上)

http://10.30.217.157:4444 =ハブのIPアドレスと4444はハブのポート

browserName = chrome(ノードのブラウザー名を指定するパラメーター)

5557 = chromeノードが稼働しているポート。

selenium_ide_129

selenium_ide_130

スクリプトを開発してXMLファイルを準備する

  • ステップ1 *-TestNGを使用してテストを開発します。 次の例では、リモートwebDriverを使用してこれらのブラウザーをそれぞれ起動します。 ドライバーがノードで実行するすべての情報を持つように、その機能をドライバーに渡すことができます。

ブラウザパラメータは、「XML」ファイルから渡されます。

package TestNG;

import org.openqa.selenium.*;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

import java.net.URL;
import java.util.concurrent.TimeUnit;
import java.net.MalformedURLException;

public class TestNGClass {
   public WebDriver driver;
   public String URL, Node;
   protected ThreadLocal<RemoteWebDriver> threadDriver = null;

   @Parameters("browser")
   @BeforeTest
   public void launchapp(String browser) throws MalformedURLException {
      String URL = "http://www.calculator.net";

      if (browser.equalsIgnoreCase("firefox")) {
         System.out.println(" Executing on FireFox");
         String Node = "http://10.112.66.52:5555/wd/hub";
         DesiredCapabilities cap = DesiredCapabilities.firefox();
         cap.setBrowserName("firefox");

         driver = new RemoteWebDriver(new URL(Node), cap);
        //Puts an Implicit wait, Will wait for 10 seconds before throwing exception
         driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        //Launch website
         driver.navigate().to(URL);
         driver.manage().window().maximize();
      } else if (browser.equalsIgnoreCase("chrome")) {
         System.out.println(" Executing on CHROME");
         DesiredCapabilities cap = DesiredCapabilities.chrome();
         cap.setBrowserName("chrome");
         String Node = "http://10.112.66.52:5557/wd/hub";
         driver = new RemoteWebDriver(new URL(Node), cap);
         driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        //Launch website
         driver.navigate().to(URL);
         driver.manage().window().maximize();
      } else if (browser.equalsIgnoreCase("ie")) {
         System.out.println(" Executing on IE");
         DesiredCapabilities cap = DesiredCapabilities.chrome();
         cap.setBrowserName("ie");
         String Node = "http://10.112.66.52:5558/wd/hub";
         driver = new RemoteWebDriver(new URL(Node), cap);
         driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

        //Launch website
         driver.navigate().to(URL);
         driver.manage().window().maximize();
      } else {
         throw new IllegalArgumentException("The Browser Type is Undefined");
      }
   }

   @Test
   public void calculatepercent() {
     //Click on Math Calculators
      driver.findElement(By.xpath(".//*[@id = 'menu']/div[3]/a")).click();

     //Click on Percent Calculators
      driver.findElement(By.xpath(".//*[@id = 'menu']/div[4]/div[3]/a")).click();

     //Enter value 10 in the first number of the percent Calculator
      driver.findElement(By.id("cpar1")).sendKeys("10");

     //Enter value 50 in the second number of the percent Calculator
      driver.findElement(By.id("cpar2")).sendKeys("50");

     //Click Calculate Button
     //driver.findElement(By.xpath(".//*[@id = 'content']/table/tbody/tr/td[2]/input")).click();
     //Get the Result Text based on its xpath
      String result =
         driver.findElement(By.xpath(".//*[@id = 'content']/p[2]/span/font/b")).getText();

     //Print a Log In message to the screen
      System.out.println(" The Result is " + result);

      if(result.equals("5")) {
         System.out.println(" The Result is Pass");
      } else {
         System.out.println(" The Result is Fail");
      }
   }

   @AfterTest
   public void closeBrowser() {
      driver.quit();
   }
}
  • ステップ2 *-ブラウザパラメータはXMLを使用して渡されます。 プロジェクトフォルダーの下にXMLを作成します。

selenium_ide_134

  • ステップ3 *-「一般」から「ファイル」を選択し、「次へ」をクリックします。

selenium_ide_135

  • ステップ4 *-ファイルの名前を入力し、[完了]をクリックします。

selenium_ide_136

  • ステップ5 *-以下に示すように、プロジェクトフォルダーの下にTestNg.XMLが作成されます。

selenium_ide_137

  • ステップ6 *-XMLファイルの内容を以下に示します。 すべてのテストが並行して実行されるように、3つのテストを作成してスイートに入れ、parallel = "tests"に言及します。
<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name = "Suite" parallel = "tests">

   <test name = "FirefoxTest">
   <parameter name = "browser" value = "firefox"/>
      <classes>
         <class name = "TestNG.TestNGClass"/>
      </classes>
   </test>

   <test name = "ChromeTest">
   <parameter name = "browser" value = "chrome"/>
      <classes>
         <class name = "TestNG.TestNGClass"/>
      </classes>
   </test>

   <test name = "IETest">
   <parameter name = "browser" value = "ie"/>
      <classes>
         <class name = "TestNG.TestNGClass"/>
      </classes>
   </test>

</suite>

テスト実行

  • ステップ1 *-作成されたXMLを選択します。右クリックして、「実行」>>「TestNG Suite」を選択します。

selenium_ide_139

  • ステップ2 *-すべてのブラウザノードを起動したノードを開きます。 3つのブラウザがすべて同時に実行されていることがわかります。

selenium_ide_140

結果分析

  • ステップ1 *-実行が完了すると、他の実行と同様に結果を分析できます。 次のスナップショットに示すように、結果の概要がコンソールに出力されます。

selenium_ide_142

  • ステップ2 *-[実行中のスイートの結果]タブに移動すると、TestNGは以下に示すように結果の概要を表示します。

selenium_ide_141

  • ステップ3 *-HTMLを生成すると、テスト結果をHTML形式で見ることができます。

selenium_ide_143

セレン-自動化実践フォーム

First name:
Last name:
Sex: Male Female
Years of Experience: 1 2 3 4 5 6 7
Date:
Profession: Manual Tester Automation Tester
Profile Picture:
Flavours of Selenium: RC Selenium IDE Selenium Webdriver
Continents: Asia Europe Africa Australia South America North America Antartica
Selenium Commands: Browser Commands Navigation Commands Switch Commands Wait Commands WebElement Commands
Button

Webdriverコマンドの例

ダイナミックカラー