Help us understand the problem. What is going on with this article?

UIテスト自動化をやってみるで🤜🤛

More than 1 year has passed since last update.

UIテスト自動化をやってみるで🤜🤛

もちろん俺らは抵抗するで? 自動化で

WEB画面を自動でテストするツールは世の中にいろいろ出ていますが、その中でもTestCafeと呼ばれるツールを使ってみました。

値段的には1開発者につき一年で499ドル(=5万円)ぐらい。

とりあえず以下をやっていきます。

  • ブラウザ上で実行されるWEBシステムの動作テスト(工程的には結合試験レベル)
  • Amazon Linux上でのTestCafe実行
  • JenkinsによるTestCafe自動実行

TestCafe導入とテストケース作成

  • TestCafeのクライアントを用意してインストールしておく
  • テストを作成したらjavascriptで書かれたスクリプトができるのでGitに登録する

CI連携

  • テストケースの版数管理を行う
  • Gitなどに作成したTestCafeのソースを入れておく

Jenkinsへの設定作業は Integrating TestCafe with Jenkins CI System を見ればわかるので、そこで躓いたところだけ拾っていこうと思います。

TestCafe使用の前準備

npm / nodejs のインストール

$ sudo apt-get update
$ sudo apt-get upgrade
$ curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
$ sudo apt-get install -y nodejs node-gyp

// 古いライブラリは "node" コマンドで動こうとするのでエイリアスを作っておく
$ sudo ln -s /usr/bin/nodejs /usr/bin/node

// npm本体をアップデートしておく
$ sudo mkdir -p /usr/local/lib/node_modules/npm
$ sudo npm install npm -g

npmがインストールできたらchromeを入れる

$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo dpkg -i google-chrome-stable_current_amd64.deb

// 一発では入らないので依存モジュールを入れる
$ sudo apt update
$ sudo apt -f install -y

TestCafeの設定

  • npm で testcafe 本体をインストールすること
$ npm install testcafe testcafe-reporter-xunit
  • ブラウザとしてchromeが使えないと、テスト実行に失敗する、以下をチェック
$ node_modules/.bin/testcafe -b
chrome
  • 実行!
$ node_modules/.bin/testcafe chrome test.js -r xunit:res.xml

トラブルシューティング

結局以下のようなコマンドで、まずXを起動させて実行してみた

# サーバ内でXのサーバを起動させつつTestCafe起動
xvfb-run --server-num=99 --server-args='-ac -screen 0 1024x768x16' node_modules/.bin/testcafe chrome test.js -r xunit:res.xml
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away