Selenium Builderを使った自動テストスクリプトの作成

前回→Selenium IDEを使った自動テストスクリプトの作成

皆さん、こんにちは。
在宅ワーカーに復帰した中野です。

今回は前回に引き続きツールを使って自動テストのスクリプトを作ってみたいと思います。

Selenium Builderを使う

Selenium Builderを使うには、IDEと同じくfirefoxにプラグインを入れる必要があります。
以下のサイトより入手します。
https://addons.mozilla.org/ja/firefox/addon/selenium-builder/

インストール後、firefoxを起動させて、「ツール」→「Web開発」→「Launch Selenium Builder」を選択します。
すると以下のような、ポップアップが表示されます。
「Record」を押すと、操作の記録が始まります。
builder1

前回(Selenium IDEの回)と同様の操作を行うとスクリプトが記録されます。
ただし、文字の一致のチェック(Assert)は右クリックでは登録できないので
Stepのところで、使いたい関数(assertText)を自力で選択します。
builder2

さらに一致するかチェックするエラーメッセージを入力します。
builder3
builder4

保存するとjson形式でパラメータが保存されます。

また、メニューからExportを選択して、Node.jsとしてファイルを吐き出してみました。
「Node.JS – Selenium-WebDriver」を選択すると、以下のソースが生成されました。

var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;
var _ = require('underscore');
var VARS = {};

var globalTimeout = 60*1000;

var driver = new webdriver.Builder()
    .forBrowser('firefox')
    .build();

driver.controlFlow().on('uncaughtException', function(err) {
    console.log('There was an uncaught exception: ' + err);
});

driver.get("http://example.selenium.jp/reserveApp_Renewal/"); 
driver.findElement(By.id("guestname")).sendKeys("山田太郎"); 
driver.findElement(By.id("agree_and_goto_next")).click(); 
driver.findElement(By.id("errorcheck_result")).getText().then(function (text) {
    if (!_.isEqual(text, "宿泊日には、翌日以降の日付を指定してください。")) {
        driver.quit();
        throw new Error('assertText failed');
    }
});

driver.quit();

他にJavaやRubyのスクリプトも生成できます。
ちょっと画面がわかりにくい(UIがいまいち)のが玉に傷ですが、Selenium Builderはかなり高機能だと感じました。

Selenium Builderを使った自動テストスクリプトの作成」への1件のフィードバック

  1. ピンバック: クロスブラウザテストサービスを使ったソフトウェアテストのコスト削減 | Solutionware開発ブログ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

sixteen − 8 =