getting started with watir
Watirは、「RubyでのWebアプリケーションテスト」の頭字語です。 Watirをインストールして使用し、コード例を使用してテストケースを作成および実行する方法を学びます。
ワティルは水と発音されます。これは、Rubyライブラリのオープンソースコレクションです。 RubyではWebアプリケーションのテストであるため、スクリプト言語としてRubyを使用します。
学習内容:
Watirのインストール
Watirを使用するには、HTML、プログラミング、およびRubyの基本的な知識が必要です。ただし、Ruby自体は使いやすく理解しやすいため、Rubyを習得してWatirを使用することはそれほど難しくありません。
Windows用のWatirインストール
コンピューターにRubyがインストールされていない可能性があります。これを確認するには、コマンドプロンプトを開き、次のように入力します > ruby –vそして「Enter」を押します 。
図1:Rubyがインストールされていない場合、次のメッセージが表示されます。
Rubyがインストールされている場合は、このコマンドでそのバージョンを取得します。クリックできます ここに Rubyの最新バージョンをダウンロードします。適切なバージョンを選択すると、Webサイト自体がRubyを推奨します 2.4.X x64またはx86インストーラーとして。
図2:このバージョンをクリックすると、次のウィンドウが表示されます。
図3:(ダウンロードの開始)ボタンをクリックすると、次のウィンドウが表示されます。
スクリーンショットを撮るためにダウンロードプロセスが一時停止されているため、 '開始' ボタン、それ以外の場合は、を見ることができます 「一時停止」 ここのボタン。次に、ファイルがダウンロードされた場所/フォルダーに移動します(図2に示されているように、場所は次のとおりです。 C: Users Ojas Downloads Programs )。
図4:rubyinstaller-2.4.3-2-x64.exeファイルを実行します。
図5:(ライセンスに同意します)を選択し、(次へ)をクリックします。
図6:(インストール)、(完了)の順にクリックします。
上の画面で「インストールするコンポーネントはどれですか?」と表示されます。不明な場合は、Enterキーを押すだけで、3つのコンポーネントすべてがインストールされます。 MSYS2ベースインストール、MSYS2システムアップデート、MSYS2およびMINGW開発ツールチェーン 。
CベースのRubyGemをコンパイルするには、MSYS2ツールが必要です。 MSYS2は手動でインストールすることもできます。
図7:手動でインストールされたMSYS2
すべてのコンポーネントをインストールするのに数分かかります。コマンドプロンプトを閉じて、再度開きます。次に、> ruby –vと入力し、Enterキーを押します。次のメッセージが表示された場合は、Rubyが正常にインストールされたことを意味します。
Windows10用の最高のドライバー更新ソフトウェア
ルビー2.4.3p205(2017-12-14リビジョン61247)(x64-mingw32)
Rubyで書かれたソフトウェアはRubyGemsと呼ばれます。 Rubyをインストールしましたが、これらのRubyGemsの最新バージョンがない可能性があります。したがって、最初に、コマンド> gem –vを使用してこのgemバージョンを確認する必要があります。ここで、バージョン2.6.14を取得しました。
次のコマンドを使用して更新します。
> gem update –system
完了すると、メッセージが表示されます– RubyGemsシステムソフトウェアが更新されました 。
次に、SeleniumWebドライバーgemを使用してインストールする必要があります コマンド(> gem install the selenium-web driver –no-ri –no-rdoc)。
インストールされ、次のメッセージが表示されます。
フェッチ:セレン-Webドライバー-3.11.0.gem(100%)
セレンを正常にインストール-Webドライバー-3.11.0
1つの宝石がインストールされています
** Windowsファイアウォールメッセージが表示された場合は、そのウィンドウを閉じます。
次に、IEDriverServerが必要です。クリック ここに IEDriverServerをダウンロードするには
最初のリンクをクリックしてから、コンピュータに適切なバージョンを選択します。つまり、Win32またはX64.Zipファイルがダウンロードされます。これらのファイルを抽出する場所を知るには、以下の手順に従ってください。
コマンドプロンプトに移動します。
タイプ> PATH
図8 : 次の結果が得られます。
ファイルをPATHに抽出します C: Ruby24-x64 bin 。 Rubyフォルダーパスにファイルを抽出します。ここで、コマンドプロンプトにirbと入力し、Enterキーを押します。 IRBはInteractiveRubyの略です。
>「selenium-webdriver」が必要
=> trueになります
>ブラウザ= Selenium :: WebDriver.for:internet_explorer
IEブラウザーが開き、次のメッセージが表示されます。 「これはWebDriverサーバーの最初のスタートページです」 。
IEブラウザでWebページwww.google.co.inを開くには、次のコマンドを入力します。
>ブラウザ。 「https://www.google.co.in/」を取得します
次の表に、それぞれのブラウザのドライバとそのダウンロードリンクのリストを示します。 IEDriverServerについて説明したのと同様に、他のドライバーについても同じ手順に従います。
.swfファイルを表示する方法
ブラウザ名 | ドライバー名 | ダウンロードリンク | |
---|---|---|---|
:晴れ | :f8 | :左 | :numpad7 |
Firefox | geckoドライバー | https://github.com/mozilla/geckodriver/releases | |
グーグルクローム | chromedriver | http://chromedriver.storage.googleapis.com/index.html | |
サファリ | - | SafariはWindowsでは機能しません |
Watirのインストール:
- コマンドプロンプトに移動します。
- コマンド> gem installwatirと入力します
- エンターボタンを押します。
Watirがインストールされます。これで、Watirの使用を開始できます。
Watirのインストール Mac用
手順:
- Rubyのインストール
- Rubygemのインストール
- Rubygemの更新
- SeleniumWebDriverのインストール
- IEドライバー/ Geckoドライバー/ Chromeドライバー/ safariドライバーのインストール
- Watirのインストール
MacにRubyをインストールする必要はありません。したがって、すでに最初のステップについて説明しました。それは多くの時間を節約します。次のコマンドでrubyのバージョンを確認します。 $ルビー-v
ここでは、次のようにしています— ruby 2.0.0p648(2015-12-16リビジョン53162)(universal.x86_64-darwin16)
次に、rubyのバージョンを確認します。 gem $ gem -v
ここにあります - 2.0.14.1。 コマンドを使用してRubyGemを更新します- $ sudo gem update —システム。 次のコマンドを使用してSeleniumWebDriverをインストールします。 $ sudo gem install selenium-webdriver —no-ri —no-rdoc
Selenium webdriverのインストール中、またはruby gemの更新中に、次のエラーが発生する可能性があります。
エラー :YAMLセーフロードは利用できません。 psychを安全な読み込みをサポートするバージョン(> = 2.0)にアップグレードしてください。
このエラーを解決するには、Rubyを更新する必要があります。 Rubyを更新するには、最初にRubyバージョンマネージャーが必要です。このコマンドを使用して取得できます。 ($ curl -L https://get.rvm.io | bash-s安定) 。 Rubyタイプの最新バージョンをインストールするには ($ rvm Rubyのインストール-(バージョン)) 。 rvmが完全にインストールされたら、ターミナルを再起動します。
次に、この最新バージョンを使用するために設定する必要があります。したがって、($ rvm useruby-2.4.1)と入力します。このバージョンをデフォルトバージョンとして設定するには、次のコマンドを使用します:($ rvm —defaultuse2.4.1)。ここで再びrubygemsを更新します。 selenium-webdriverをインストールしてみてください。再度エラーが発生した場合は、コマンドライン開発者ツールが必要になる可能性があるため、($ git —version)を使用してインストールしてください。すでに持っているので、ここにはインストールしていません。
chromeドライバーをインストールするには、homebrew ($ ruby -e“ $(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) 」)。
Chromeドライバーをインストールしましょう。 ($ brew installchromedriver)。
ターミナルでこのコードを試してください:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
このコードを使用すると、指定したWebページでブラウザが開くはずです。次に、Watirをインストールします。 ($ gemインストール水)。
インストールプロセスは完了です。これで、テストスクリプトの作成を開始できます。
Watirの使用方法:テストケースの作成と実行
テストケースやスクリプトはメモ帳で書くことができます。このファイルを.rb拡張子で保存します。
例: 1つのファイルtest.rbを作成したとします。このスクリプト/プログラムを実行するには、このファイルをダブルクリックするか、以下の手順に従います。このファイルをCドライブに保存したとします。このファイルのアドレスは 「C Ruby_Programs」。
>cd >cd Ruby_Programs >ruby test.rb
ENTERボタンを押します。このファイルを編集するには、このファイルを右クリックして、(プログラムから開く)オプションを選択します。
#1)テストケースを並行して実行する
2つのテストケースを作成し、それらをtest1.rbおよびtest2.rbとして保存した場合。これらの2つのテストを並行して実行するには、次の手順に従う必要があります。
図9: コマンドプロンプトに移動し、次のように入力します (> gem installparallel_tests)。 次のメッセージが表示されます。
次に、テストを実行します。
>parallel_test test1.rb test2.rb
#2)テストスイートの作成
いくつかのテストを頻繁に実行してテストスイートに追加する場合は、そのコードを次に示します。
コード:
require 'minitest/autorun' require 'C:/Ruby_Programs/test3' # This is the path of your test file which you want to include. require 'C:/Ruby_Programs/test4' # This is the path of your test file which you want to include.
このファイルをtestSuite.rbとして保存し、実行します
C: Ruby_Programs> ruby testSuite.rb
ワティルの例
例1:
これは私たちの最初のプログラムなので、「Google.co.in」ウェブページを開いてGmailリンクをクリックするだけです。
コード:
require 'watir' test_site = 'https://www.google.co.in/' browser = Watir::Browser.new:firefox browser.goto test_site browser.link(:href, 'https://mail.google.com/mail/?tab=wm').click puts “Test Executes” browser.close
コードを理解する
#1)require‘watir ’#ここでは、プログラムを実行するためにWatirライブラリが必要であり、このステートメントがロードされることを示しています。
#2)test_site =“ https://www.google.co.in/”#ここで変数を宣言しています。
#3)browser = Watir :: Browser.new:firefox#ここではFirefoxブラウザを開いています。
Watir :: Browser.new:internet_explorer#InternetExplorerの場合
Watir :: Browser.new:safari#Safariの場合
#4)browser.goto test_site#またはbrowser.goto“ https://www.google.co.in/”#gotoコマンドを使用して、指定したWebサイトに移動します。
#5)browser.link(:href、“ https://mail.google.com/mail/?tab=wm”)。click#ここではGmailのリンクをクリックします。ハイパーリンクはコード内でリンクと呼ばれ、その「href」プロパティを使用してこのハイパーリンクを見つけています。
#6)puts“ Test Executed”#この行は、コマンドプロンプトに文字列“ Test Executed”を書き込みます。
#7)browser.close#この行はブラウザを閉じます。
ブラウザ名について言及しない場合は、コード(Watir :: Browser.new)にこの行のみを記述します。ChromeはWatirのデフォルトのブラウザであるため、WatirはChromeブラウザを開きます。
例2:
この例では、Webページwww.google.co.inを開きます。次に、「手動テスト」というテキストを検索します。次に、ホームページに戻り、「Gmail」リンクをクリックします。
コード:
require 'watir' browser=Watir::Browser.new:firefox browser.goto 'https://www.google.co.in' if browser.title.include? 'Google' browser.text_field(:class, 'gsfi').set 'Manual Testing' browser.button(:name, 'btnK').click if browser.text.include? 'Manual Testing is a process of finding out the defects' puts 'Title of webpage '+ browser.title browser.img(:src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png').click browser.link(:class, 'gb_P').click else puts 'Wrong result found' end else puts 'Either you are on wrong page or page not found' end puts 'Now title of webpage '+ browser.title browser.close puts 'Test Executed Successfully'
コードを理解する:
#1)browser.goto https://www.google.co.in –ここでは指定されたWebサイトに移動しています。
#2)browser.title.includeの場合? 「グーグル」–ここでは、ウェブページのタイトルが期待どおりかどうかを確認しています。この「If」の他の部分には、「間違ったページにいるのか、ページが見つからないのか」という文があります。このステートメントは、コマンドプロンプトに表示されます。
#3)browser.text_field(:class、“ gsfi”)。set“ Manual Testing” –ここでは、検索テキストボックスに「ManualTesting」というテキストを入力しています。
#4)browser.button(:name、“ btnK”)。click –ここでは「Google検索」ボタンをクリックしています。
#5)browser.text.includeの場合? 「手動テストは欠陥を見つけるプロセスです」–現在、Webページのテキストをチェックして、正しい検索結果が得られたかどうかを確認しています。この「If」ステートメントの「Else」の部分に、「間違った結果が見つかりました」というステートメントを入れています。
#6)「Webページのタイトル」+ browser.titleを配置します–ここでは、コマンドプロンプトにWebページのタイトルを表示しています。
#7)browser.img(:src、“ /images/branding/googlelogo/2x/googlelogo_color_120x44dp.png”)。click –ここでは、画像をクリックしてホームページに戻ります。
#8)browser.link(:class、“ gb_P”)。click –ここではGmailのリンクをクリックしています。
#9)「Webページのタイトルになりました」+ browser.title –ここでも、コマンドプロンプトにWebページのタイトルを表示します。 Gmailページのタイトルである必要があります。
#10)browser.close –ここではブラウザを閉じています。
アニメを無料で見るのに最適なウェブサイト
#11)「テストが正常に実行されました」と入力します。すべてのステップが正しく実行されることを確認するために、このステートメントをコマンドプロンプトに配置しています。
例3:
この例では、最大のWatirコマンドを使用して、それらの使用方法を理解できるようにします。その説明もコードとともに表示されます。
コメント付きのコード:
require 'watir' browser=Watir::Browser.new:chrome browser.goto “http://watir.com/examples/forms_with_input_elements.html” #Here we will see how to insert data in text field. t1=browser.text_field id: 'new_user_first_name' t1.set 'Testing' t2=browser.text_field id: 'new_user_last_name' t2.set “testdata' #Here we will see how to select data from select list. sl=browser.select_list id: 'new_user_languages' sl.select 'English' sl.selected_options #Here we will see how to select radio button. rd=browser.radio value: 'no' rd.set chk=browser.checkbox value: 'cars' chk.set #Here we will see how to click button. btn=browser.button name: 'new_user_button_2' btn.click #This is an Explicit wait statement. This statement will make the program wait #until the particular event happens. Watir::Wait.until {browser.text.include? 'submit'} # Here I used this if statement because this is a test webpage and nothing is #happening after clicking the button. So just to show that button is clicked I used If #statement. if browser.text.include? 'submit' puts 'Data Submitted' else puts 'Data not yet submitted' end # This is an implicit wait statement. It will make your program to wait for 30 seconds compulsory. browser.driver.manage.timeouts.implicit_wait = 30 # You can send special keys to browser. There is a big list of these keys. browser.send_keys :page_up #Here we are taking the screenshot and saving it in a png file. browser.screenshot.save ‘screenshot1.png' browser.send_keys :page_down browser.screenshot.save ‘screenshot2.png' puts 'TestCase Executed' browser.close
待機と特別なキー
Watirでサポートされている待機ステートメントには2つのタイプがあります。 1つ目は明示的な待機で、2つ目は暗黙的な待機です。上記のコード、つまり例3で、両方の構文を見てきました。
Watirでサポートされている特殊キー:最初に、これらの特殊キーを使用するための構文を確認します。
- browser.send_keys:page_up#これをコードで使用しました。
- browser.element.send_keys (:control、 ‘c’) 、: cancel
- browser.element.click(:enter、:space)
以下は、Watirでサポートされている特殊キーのリストです。
:入る | :f1 | :コントロール | :numpad0 |
:シフト | :f2 | :すべて | :numpad1 |
:ヌル | :f3 | :一時停止 | :numpad2 |
:キャンセル | :f4 | :逃れる | :numpad3 |
:助けて | :f5 | :スペース | :numpad4 |
:backspace | :f6 | :終わり | :numpad5 |
:タブ | :f7 | :home | :numpad6 |
:return | :f9 | :アップ | :numpad8 |
:左方移動 | :f10 | :正しい | :numpad9 |
:left_control | :f11 | :ダウン | :かける |
:ページアップ | :f12 | :インサート | :追加 |
:ページダウン | :メタ | :削除 | :減算 |
:arrow_left | :コマンド | :等しい | :除算 |
Watirを使用した回帰テスト
回帰テストでは、変更が変更されていない部分に影響を与えているかどうかを確認します。
そのためには、以前のテストケースを再実行する必要があります。手動で行うと、回帰テストに時間がかかります。 Watirは、テストケースの作成、保守/更新、および実行が簡単であるため、最高の回帰テストツールの1つです。
結論
結論として、Watirはツールを簡単に習得できると言えます。これはオープンソースツールであるため、費用効果が高く、使いやすいです。 Selenium WebDriverに比べてそれほど多くの利点はありませんが、他の多くのツールと比較すると優れたツールです。
プログラミングをサポートしているため、他の記録および再生ツールよりもはるかに優れています。それは確かに最高の回帰テストツールの1つです。
Watirツールを試してみましたか?
推奨読書
- 30以上の最高のSeleniumチュートリアル:実際の例でSeleniumを学ぶ
- ChromeDriver Seleniumチュートリアル:ChromeでのSeleniumWebdriverテスト
- 180以上のWebアプリケーションテストのサンプルテストケース(サンプルチェックリスト)
- 2021年のトップ30以上のWebアプリケーションテストツール(包括的なリスト)
- Webアプリケーションテスト完全ガイド(Webサイトをテストする方法)
- 2021年に最も人気のある回帰テストツールトップ10
- 回帰テストとは何ですか?定義、ツール、方法、および例
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)