SauceLabs導入ガイド(まとめ)

More than 3 years have passed since last update.


利用できるOS/ブラウザの種類

OS
InternetExplorer
Google Chrome
Firefox
Opera
Safari
OS

iOS

4.3〜7.1(iPhone/iPad)

Android

4.0〜4.3

Windows 8.1
11
26〜34, beta
2〜28
9〜10

Windows 8
10
26〜34, beta
2〜28
9〜10

Windows 7
8〜11
26〜34, beta
2〜28
9〜12
5

Windows XP
6〜8
26〜34, beta
2〜28
9〜12
3〜5

OS X Mavericks

31〜33
4〜28

7

OS X Snow Leopard

27〜33, beta
3.6〜28

5

OS X Mountain Lion

27〜33, beta
4〜28

6

Linux

26〜33
3.6〜28
12


環境構築&テスト作成


テスト結果の公開設定


  • 公開設定はテスト毎に設定可能

  • デフォルトはteam

  • 公開範囲はTestSessionDetailsページ(テスト結果が見られるページ)のVisibilityで設定可能

  • 公開範囲は以下の5つから選択可能


    • public

    • public restricted

    • share

    • team

    • private




公開範囲 public


  • URLを知っていれば誰でも閲覧可能

  • 以下全てが閲覧可能


    • Commands(実行したテストの内容)

    • Screencast(テストを記録した動画)

    • SeleniumLog

    • Metadata



  • public jobsページ (https://saucelabs.com/u/[ユーザ名]) に表示される


公開範囲 public restricted


  • URLを知っていれば誰でも閲覧できる

  • 以下が閲覧可能


    • Screencast

    • Metadata



  • public jobsページ に表示される


公開範囲 share


  • URLを知っていれば誰でも閲覧できる

  • public jobsページ に表示されない


公開範囲 team(デフォルト)


  • チームメンバーのみ閲覧できる


    • チームメンバの登録は https://saucelabs.com/sub-accounts のInviteボタンを押下後、招待したいメルアドをいれて送信する

    • メールを受けた側はメール本文にあるリンクを踏むだけ(メール内のリンクは3日間有効)



  • 上記以外の人が閲覧すると、Not foundページが表示される

  • public jobsページ に表示されない

  • 社内で使うとなったらteamを設定することになるのだろう


公開範囲 private


  • テストを実行したオーナー(自分)にしか閲覧できない

  • 自分以外の人が閲覧すると、Not Foundページと表示される

  • public jobsページ に表示されない


公開設定の変更


  • テスト後に設定を"team" => "private"とかやってやれば変更可能

  • テスト実行前にできないかと以下のようにのconfigの中身をいろいろいじってみたが設定が効かなかった


    • browserの設定は効いているのにどういうこっちゃいw

    • 分かり次第追記しますm(__)m




features/support/sauce_helper.rb

# job_name, nameの変更を加えてみた

Sauce.config do |c|
c[:browsers] = [
["Windows 8", "Internet Explorer", "10"]
]
c[:name] = 'hoge'
c[:job_name] = 'hoge'
end



Cucumberのテストを深堀


複数のfeatureファイルを作って実行


  • 3つのfeatureファイルを作ってテスト実行してみた

  • 以下を実行


features/sample1.feature

Feature: Feature1

@selenium
Scenario: Scenario 1
When I go to qiita.com



features/sample2.feature

Feature: Feature2

@selenium
Scenario: Scenario 2
When I go to qiita.com



features/sample3.feature

Feature: Feature3

@selenium
Scenario: Scenario 3
When I go to qiita.com



  • 1個のfeatureが1個のSessionになるようだ

  • ブラウザこれって結構な量になるなぁ

  • 10個のfeatureを10ブラウザに対して実行すると100個!!

  • ただ、フィルターが用意されているので当日失敗したものだけ確認することも容易

SauceLabs_3Features.png


1個のfeatureファイルに複数のシナリオ/シナリオアウトラインを作って実行


  • 以下を実行


features/sample.feature

@selenium

Feature: Feature

Scenario: Scenario 1
When I go to qiita.com

Scenario: Scenario 2
When I go to qiita.com

Scenario Outline: Scenario Outline
When I go to qiita.com

Examples:
| Language |
| Japanese |
| English |
| German |



  • こちらも予想通りシナリオ毎で1個のSessionになる


    • シナリオアウトラインのカッコ(>)が「>」になってるw



SauceLabs_3Scenarios.png


最後に、利用料金について

タイプ
料金(月)
並行稼働できるVM数
ユーザー数
自動テストの実行時間(時間)
手動テストの実行時間(時間)

Free
\$0
2
1
2
0.5

Manual
\$12 [\$16]
2
1
2
無制限

Individual
\$49 [\$69]
3
1
10
無制限

Small Team
\$149 [\$199]
6
10
30
無制限

Volume Packs
??
無制限
無制限
無制限
無制限


  • 料金は、年間契約(一月契約)で異なり、年間契約のほうがお得!

  • Volume Packsの料金についてはSauceLabs宛にメールをして料金を聞くシステムになっていた


~ただの宣伝~


  • 全国のSeleniumer必読

  • Selenium, SauceLabs, Travis, Jenkinsに関するノウハウ書いているのでよかったら参考にしてみてください