Node.js
jasmine
selenium-webdriver

jasmineとselenium-webdriverでシンプルにE2Eテストする

More than 1 year has passed since last update.

用意するもの

  • npm で以下のモジュールをインストールする
    • jasmine
    • selenium-webdriver
  • どうにかしてchromedriverを入手する(Chromeで試したい場合)
    • chromedriverという名前で(windowsだとchromedriver.exeかな?)カレントフォルダに置いておく(ほかにいい感じに管理する方法があれば教えてください・・・!)

こう書く

シンプルに書いています。(ほんとはasync/awaitで書きたいけど)

test.js
var wd = require("selenium-webdriver");

describe("e2e test", function() {
  var driver;
  beforeAll(function () {
    // デフォルトだと、5秒しか待ってくれないので、20秒くらい待たせる
    jasmine.DEFAULT_TIMEOUT_INTERVAL = 20000;
    driver = wd.Builder().forBrowser("chrome").build();
  });
  afterAll(function() {
    driver.quit();
  });

  it("should get google.com", function(done) {
    driver.get("http://google.com")
    .then(function() {
      return driver.findElement(by.id("なんかてきとうに"));
    })
    .then(function(element) {
      return element.getText();
    })
    .then(function(text){
      expect(text).toBe("なんかてきとうに");
    })
    .then(done, done);
  });
});

実行する

jasmine ./test.js