Slide 1

Slide 1 text

Seleniumに疲れたらTestCafeで休んでいきませんか Takuya Suemura @ Autify Inc.

Slide 2

Slide 2 text

⾃⼰紹介 末村 拓也(Takuya Suemura) QA / テスト⾃動化エンジニア というテスト⾃動化プラットフォームを作る会社で働いています

Slide 3

Slide 3 text

https://autify.com/ja/ ※今⽇はAutifyの話はしません

Slide 4

Slide 4 text

今⽇はTestCafeという E2Eテストフレームワークの紹介をします

Slide 5

Slide 5 text

TestCafeについてざっくり https://github.com/DevExpress/testcafe ⽶DevExpress社が作ったNodeJS製ブラウザテストフレームワーク 元々商⽤だったのが2016年にコア部分をOSSとして提供している Selenium(WebDriver)を使わず独⾃の実装(Javascript)でブラウザを動かす モバイルも含めたクロスブラウザテストが 3分で作れる

Slide 6

Slide 6 text

3分で作れるとかマ︖

Slide 7

Slide 7 text

インストールはこれだけ npm install -g testcafe 「ブラウザに対応したWebDriverをインストールして……」みたいなのは不要

Slide 8

Slide 8 text

テストケース作成 fixture `Getting Started` .page `http://devexpress.github.io/testcafe/example`; test('My first test', async t => { await t .typeText('#developer-name', 'John Smith') .click('#submit-button'); }); よくあるBDDライクな書き⽅ですね 参考: https://devexpress.github.io/testcafe/documentation/getting- started/#performing-actions-on-the-page

Slide 9

Slide 9 text

実⾏ $ testcafe all tests/sample-fixture.js ↑ この all はインストールされてる 全ブラウザ を指します

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

モバイル実⾏ $ testcafe remote tests/sample-fixture.js --qr-code

Slide 12

Slide 12 text

URLと、そのQRコードがCLIに表⽰される このURLにアクセスすればモバイル含めどのブラウザでも実⾏可能

Slide 13

Slide 13 text

Seleniumとは何が違うの︖

Slide 14

Slide 14 text

TestCafe ≠ Selenium although webdrivers are developed by browser vendors, compatibility issues still appear from time to time. (WebDriverはブラウザベンダーが作ってるから互換性の問題がちょいちょい起き ててしんどみ) TestCafeはWebDriverを使わず、独⾃の実装で各ブラウザを動かしている 「IEDriverにバグがあるけどIEDriverがメンテされなくてつらたん〜〜死ぬ〜〜」 みたいなのを「おれたちが⾃分で作ってメンテする」メソッドで解決 ⼒こそパワー 他にも前述のリモート実⾏などの機能はWebDriverを使わないからこそ実現できる もの https://testcafe-discuss.devexpress.com/t/why-not-use-selenium-how-to-use- testcafe/47

Slide 15

Slide 15 text

なんだよSeleniumとかオワコンじゃん TestCafeはTestCafeでバグがあることが…… ⾃動操作⽤のJSをページ内に仕込む(多分)関係で、⼀部のJavascriptフレームワ ークが上⼿く動作しないことが過去にあった まあそれはWebDriverも同じだけどな︕ ブラウザのバージョンアップで⽂鎮になることも…… まあそれはWebDriverも同じだけどな︕ WebDriverはなんやかんやW3Cで標準化されてるので未来がある

Slide 16

Slide 16 text

いろいろ選択肢があってたのしいね

Slide 17

Slide 17 text

Enjoy Testing!