Git Product home page Git Product logo

js-e2e-test's Introduction

概要

Selenium WebDriverを用いてJavaScript(以下JS)の自動テストを行います。

動作環境

  • [OS] MacOS X, Windows7
  • [Java] 1.8.0_65
  • [Gradle] 2.9
  • [Selenium Server Standalone] 2.53.0
  • [Firefox(テスト用ブラウザ)] 44.0

準備A (アプリを実行する端末)

※Macの場合、準備A・Bが同一端末でも可

  • ソースコード

    • 本ソースコードをクローンします。
    • confディレクトリにapplication.confを作成します。
    • 記述方法はこちら
  • Java

    • JDK8をインストールします。
  • Gradle

    • ビルドツールとしてGradleをインストールします。

    • (Macの場合) sdkmanを使います。

      $ curl -s "https://get.sdkman.io" | bash

      最後に "sdkman-init.sh" を実行する旨のメッセージが表示されるので、そのままコマンドラインで実行。

      さらに下記コマンドで利用可能なバージョンを指定してGradleをインストール。

      $ gvm list gradle
      $ gvm install gradle 2.9

    • (Windowsの場合) 下記URLの"Binary only distribution"から取得します。

      https://gradle.org/gradle-download/

準備B (ブラウザを起動する端末)

  • Java

    • JDK8をインストールします。
  • Selenium Server Standalone

  • Firefox

    • WebDriverが最新のFirefoxに未対応のため、Ver.44以前のものをインストールします。
      (自分のOSに合ったものを選択)
      https://ftp.mozilla.org/pub/firefox/releases/44.0/

    • テストに使うため自動バージョンアップを停止しておきます。

      「ツール(T)」-「オプション(O)」(Macの場合は「環境設定」)

      「詳細」の「更新」タブを開き、「更新の確認は行うが、インストールするかどうかを選択する」に設定。

ビルド

  • ソースコードのルートディレクトリで下記コマンドを実行。

    $ gradle distZip

  • build/distributions/ に生成されたzipを本番サーバーへデプロイします。

  • 解凍後、js-e2e-test に入って、下記コマンドでアプリを実行できます。

    $ cd js-e2e-test
    $ sh bin/js-e2e-test [テスト対象アプリ名(任意)] [テスト対象URL(*1)] [OS(mac or windows)]

    (*1) テスト対象のURLを改行区切りでファイルに記載。そのファイルへのパスを指定。

      http://test-target.com/
      http://test-target.com/sample1/
      http://test-target.com/sample2/
    

    (コマンド例)

    $sh bin/js-e2e-test weather-report /Users/tester/urls.txt mac

  • Firefoxが起動し、(*1)のURLに順次アクセスします。

実行方法

  • ソースコードのルートディレクトリで下記コマンドを実行。

    $ gradle run -Pargs="[テスト対象アプリ名(任意)] [テスト対象URL(*1)] [OS(mac or windows)]"

ユニットテスト

準備中。

作成者

Copyright © 2016 All About, Inc.

ライセンス

本ソースコードはMITライセンスの元に公開しています。

js-e2e-test's People

Contributors

allabout avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

sankame

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.