Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Takeshi Kondo
8,582 views
JenkinsとSeleniumの活用事例
2015年Jenkinsユーザカンファレンスの発表資料です。
Internet
◦
Read more
9
Save
Share
Embed
Embed presentation
Download
Downloaded 21 times
1
/ 47
2
/ 47
3
/ 47
4
/ 47
5
/ 47
6
/ 47
7
/ 47
8
/ 47
9
/ 47
10
/ 47
11
/ 47
12
/ 47
13
/ 47
14
/ 47
15
/ 47
16
/ 47
17
/ 47
18
/ 47
19
/ 47
20
/ 47
21
/ 47
22
/ 47
23
/ 47
24
/ 47
25
/ 47
26
/ 47
27
/ 47
28
/ 47
29
/ 47
30
/ 47
31
/ 47
32
/ 47
33
/ 47
34
/ 47
35
/ 47
36
/ 47
37
/ 47
38
/ 47
39
/ 47
40
/ 47
41
/ 47
42
/ 47
43
/ 47
44
/ 47
45
/ 47
46
/ 47
47
/ 47
More Related Content
PDF
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
by
Takahito Tejima
PPTX
[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators
by
Deep Learning JP
PPTX
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
PDF
現場で役立つシステム設計の原則
by
増田 亨
PDF
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
by
Kouhei Sutou
PDF
HTTP/2 入門
by
Yahoo!デベロッパーネットワーク
PDF
Lean coffee
by
Takeshi Arai
PDF
Mavenの真実とウソ
by
Yoshitaka Kawashima
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
by
Takahito Tejima
[DL輪読会]StyleGAN-NADA: CLIP-Guided Domain Adaptation of Image Generators
by
Deep Learning JP
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
現場で役立つシステム設計の原則
by
増田 亨
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
by
Kouhei Sutou
HTTP/2 入門
by
Yahoo!デベロッパーネットワーク
Lean coffee
by
Takeshi Arai
Mavenの真実とウソ
by
Yoshitaka Kawashima
What's hot
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
PDF
Eclipseデバッガを活用するための31のtips
by
Hiroki Kondo
PPTX
近年のHierarchical Vision Transformer
by
Yusuke Uchida
PPTX
Kinesis Firehoseを使ってみた
by
Masaki Misawa
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
PDF
SQLアンチパターン - ジェイウォーク
by
ke-m kamekoopa
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
PDF
KafkaとAWS Kinesisの比較
by
Yoshiyasu SAEKI
PDF
eBPFを用いたトレーシングについて
by
さくらインターネット株式会社
PPTX
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
PDF
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
by
Yahoo!デベロッパーネットワーク
PPT
ドメインロジックの実装方法とドメイン駆動設計
by
Tadayoshi Sato
PDF
Serverless時代のJavaについて
by
Amazon Web Services Japan
PDF
例外設計における大罪
by
Takuto Wada
PPTX
DeNA の AWS アカウント管理とセキュリティ監査自動化
by
DeNA
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
PDF
実践 Amazon Mechanical Turk ※下記の注意点をご覧ください(回答の質の悪化・報酬額の相場の変化・仕様変更)
by
Ayako_Hasegawa
PDF
ワタシはSingletonがキライだ
by
Tetsuya Kaneuchi
PDF
オブジェクト指向エクササイズのススメ
by
Yoji Kanno
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
by
日本マイクロソフト株式会社
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
Eclipseデバッガを活用するための31のtips
by
Hiroki Kondo
近年のHierarchical Vision Transformer
by
Yusuke Uchida
Kinesis Firehoseを使ってみた
by
Masaki Misawa
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
by
Yahoo!デベロッパーネットワーク
SQLアンチパターン - ジェイウォーク
by
ke-m kamekoopa
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
KafkaとAWS Kinesisの比較
by
Yoshiyasu SAEKI
eBPFを用いたトレーシングについて
by
さくらインターネット株式会社
世界一わかりやすいClean Architecture
by
Atsushi Nakamura
Yahoo!ニュースにおけるBFFパフォーマンスチューニング事例
by
Yahoo!デベロッパーネットワーク
ドメインロジックの実装方法とドメイン駆動設計
by
Tadayoshi Sato
Serverless時代のJavaについて
by
Amazon Web Services Japan
例外設計における大罪
by
Takuto Wada
DeNA の AWS アカウント管理とセキュリティ監査自動化
by
DeNA
ネットワーク ゲームにおけるTCPとUDPの使い分け
by
モノビット エンジン
実践 Amazon Mechanical Turk ※下記の注意点をご覧ください(回答の質の悪化・報酬額の相場の変化・仕様変更)
by
Ayako_Hasegawa
ワタシはSingletonがキライだ
by
Tetsuya Kaneuchi
オブジェクト指向エクササイズのススメ
by
Yoji Kanno
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
by
日本マイクロソフト株式会社
Similar to JenkinsとSeleniumの活用事例
PDF
Ja sst東北2013
by
勝信 今井
PDF
「Selenium実践入門」で学ぶテスト自動化の世界
by
Nozomi Ito
PPTX
Selenium IDE for primer
by
yasukoS
PPT
テスト自動化ツール[Selenium]を検討してみて
by
裕史 川松
PPTX
Selenium
by
takeuchi-tk
PPTX
WEB開発動作テストの自動化 を行うSeleniumの紹介
by
Nobuhiko Futagami
PDF
Awsで実現するseleniumテスト高速術
by
finoue
PDF
海外のSeleniumカンファレンスではどんな発表がされているのか2014
by
Nozomi Ito
PPTX
テストしなイカ? Seleniumで自動ブラウザテスト
by
Ohishi Mikage
PPTX
Selenium勉強会
by
Tatsunori Nishikori
PDF
Jenkinsstudy#4kokawa
by
Takashi Kokawa
PDF
テストを書くのに挫折したあとやったこと
by
Yuta Ohashi
PPT
ビジネス的に高価値なアジャイルテスト
by
Tsutomu Chikuba
PDF
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
by
SHIFT Inc.
PPTX
Microsoft Excelでgoogle chromeを動かした話
by
洋史 東平
PPT
PHP agile test tips
by
Tsutomu Chikuba
KEY
Jenkins javascript ci
by
hisame64
PDF
ハイパフォーマンスSeleniumテスト@サイボウズ
by
Jumpei Miyata
PDF
Jenkins+Play!で気軽にCI
by
Takafumi Ikeda
PDF
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
by
Yuki Iwanari
Ja sst東北2013
by
勝信 今井
「Selenium実践入門」で学ぶテスト自動化の世界
by
Nozomi Ito
Selenium IDE for primer
by
yasukoS
テスト自動化ツール[Selenium]を検討してみて
by
裕史 川松
Selenium
by
takeuchi-tk
WEB開発動作テストの自動化 を行うSeleniumの紹介
by
Nobuhiko Futagami
Awsで実現するseleniumテスト高速術
by
finoue
海外のSeleniumカンファレンスではどんな発表がされているのか2014
by
Nozomi Ito
テストしなイカ? Seleniumで自動ブラウザテスト
by
Ohishi Mikage
Selenium勉強会
by
Tatsunori Nishikori
Jenkinsstudy#4kokawa
by
Takashi Kokawa
テストを書くのに挫折したあとやったこと
by
Yuta Ohashi
ビジネス的に高価値なアジャイルテスト
by
Tsutomu Chikuba
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
by
SHIFT Inc.
Microsoft Excelでgoogle chromeを動かした話
by
洋史 東平
PHP agile test tips
by
Tsutomu Chikuba
Jenkins javascript ci
by
hisame64
ハイパフォーマンスSeleniumテスト@サイボウズ
by
Jumpei Miyata
Jenkins+Play!で気軽にCI
by
Takafumi Ikeda
改訂第3版 Jenkins 実践入門 what's newから見るJenkinsのUpdate
by
Yuki Iwanari
JenkinsとSeleniumの活用事例
1.
JENKINSとSELENIUMの活用事例 - プロジェクトへの試験自動化の導入 - NTTコミュニケーションズ株式会社 近藤
剛 Jenkinsユーザ・カンファレンス 東京2015
2.
自己紹介 名前 近藤 剛 (こんどう
たけし) 仕事 NTTコミュニケーションズ株式会社 技術開発部 クラウド系のサービス・基盤の開発
3.
はじめに • 今日はWebアプリの受入試験を題材に、Seleniumや Jenkinsをどのように導入し、自動化・効率化を進めて いったかという話をします。 • Seleniumをあまり知らない・これから使ってみたい、と いう方に向けて、簡単な解説や実際の設定例を盛り込 んでいます。 •
SeleniumやJenkinsを用いた試験自動化導入の参考に なれば幸いです。
4.
本日の流れ 1. 自動化の背景 2. Seleniumの導入 3.
Jenkinsとの連携 4. まとめ
5.
とある開発プロジェクト 『プラットフォーム開発』 • アジャイル的な開発 • 1〜1.5ヶ月のイテレーション •
自分はWebアプリなどの受入試験を担当 DEV QA STG PROD 単体 結合 受入 開発環 境 試験工程 最終
6.
現場の悩み 試験項目はイテレーション毎に増加する • 約100項目 →
約2000項目 試験期間は開発後半になるほど減少する • 開発・デプロイの遅れと迫り来るリリース さらに、要件変更やパッチ適用で試験頻度も増加…
7.
どうする?! 品質 スコープ リソース 時間
8.
自動化への期待 手動ベースのWEBアプリ試験について、 • 単純作業 • 繰り返し作業 を自動化することで、
効率的な試験の実施 開発後も使えるテスト を実現したい
9.
SELENIUMとは Webブラウザのテストを自動化するツール • http://www.seleniumhq.org/
10.
SELENIUM SUITE • Selenium
1 / Selenium RC • 初期のSelenium • Selenium 2 / Selenium WebDriver • GoogleのWebDriverと統合 • Selenium IDE /Selenium Builder • Firefoxプラグイン
11.
簡単なデモ
12.
どのSELENIUMを使うか? Selenium IDE • Firefoxプラグインで簡単に操作の記録・再生 •
Firefox限定 Selenium 2 / Selenium WebDriver • JavaやRubyでお好みにテストコードを記述 • 複数のブラウザに対応
13.
SELENIUMの記述 Selenium IDE Selenium 2
/ Selenium WebDriver
14.
WEBブラウザ操作 要素 コマンド
15.
要素の指定 • id • ex.)
id=‘username’ • name • ex.) name=‘ok_button’ • CSSセレクタ • ex.) p:nth-last-of-type(2) • Xpath • ex.) /html/body/div[1]/div/div[2]/div[2]/div[2]/ div/div[2]/div[1]/div[2]/span
16.
要素を探すには? • Selenium IDEの操作記録 •
Firebugで要素を調査
17.
コマンドの指定 • Click • クリック(リンク、ボタン、チェックボックス) •
Wait • 特定の文字列が表示されるまで待機 • Verify / Assert • 特定の文字列が存在するかを検証 • Store • 文字列を格納 • Type • 文字列を記述
18.
テストケースの作成(IDE) • 操作の自動記録だけでは安定したケースは作れない • 自動記録をベースにしてテストケースを拡張すること
19.
作成のポイント (IDE) • 初期設定 •
変数(store) • 実行速度(setSpeed) • 要素 • id > name > CSSセレクタ >Xpath の優先順位 • コマンド • ページ読み込み(Pause) • スクリーンショット(captureEntirePageScreenshot) • JavaScript • 入力データの生成や値の加工 • 例) storedVars['order'].substring(9,14)
20.
テストケースの作成(WEBDRIVER) • Selenium IDEはアドオン単体でテストケースの作 成・実行 •
Selenium 2 / WebDriverを利用する場合には、言 語に合わせてテストのフレームワークを組み合わせ て利用する
21.
CUCUMBER • 受入れテストのフレームワーク • Gherkin書式で記述 •
Given: 前提 • When: もし (操作内容) • Then: ならば (期待する結果) • feature fileとstep fileの作成 • feature file : テストケースを記述 • step file : テストコードを記述
22.
FEATURE FILE • login.feature テストケースの概要 Gherkin書式で テストケースの記述
23.
STEP FILE • login_steps.rb featureファイルに 合わせてコードを記述
24.
CUCUMBERの実行 $ cucumber -f
html -o result.html . 緑:Pass 黄:Pending
25.
作成のポイント(WEBDRIVER) • ブラウザ切り替え • @brower
= Selenium::WebDriver.for :firefox • @brower = Selenium::WebDriver.for :chrome • ラッパーの利用 • rubyならcapybaraとか
26.
実行環境 • 最初はローカルPCにテスト環境を構築 • Mac一台(一人)でテストケースを作成し、 Seleniumを実行 •
PJが進むにつれてチームでの試験環境が必要に • 同じテストケースでも実行環境によりFailする • テストケースの修正箇所やバージョンが不明 Webアプリ
27.
VMへの移行 + GITの導入 Git WebアプリCentOS •
VM上で安定して動くテストケースをチームで作成 • gitによりチームメンバの作業が見える化 push pull test
28.
VM移行時のヒント • Selenium用のFirefoxプロファイル作成 • $
firefox –ProfileManger –no-remote • Selenium実行時の画面確認 • 仮想ディスプレイ: Xvfb • VNC: X11VNC • + SSHトンネルでセキュアに接続 • Selenium Serverの利用 java -Dfile.encoding=8859_1 –jar selenium-server-standalone-2.44.0.jar –port 1234 -htmlSuite "*firefox" "https://hoge.portal" ”test_suite.html" "results.html" -firefoxProfileTemplate /home/hoge/.mozilla/firefox/278ftidu.Selenium
29.
JENKINSの導入 • 定期的にテストを実行したい • 実行結果を管理したい ようやく登場…
30.
導入イメージ Git Webアプリ • SeleniumをJobに登録 • JenkinsがJobを定期実行 pus h pull test kick result
31.
ダッシュボード
32.
JOBの登録 • Seleniumhq Plugin •
シェルで実行
33.
実行結果 • Selenium HTML
Report Plugin
34.
便利なプラグイン • Build Pipeline
Plugin • 複数Jobの連携可視化 • Email Extension Plugin • メール通知 • Text Finder Plugin • キーワード検索 • Xvfb Plugin • Xvfbの立ち上げ • Emotional Jenkins Plugin • 安らぎ https://wiki.jenkins-ci.org/display/JENKINS/Emotional+Jenkins+Plugin
35.
BUILD PIPELINE • 複数のJobをパイプラインとして表示 •
Jobの実行順序や状態が見やすくなる
36.
UIの評価 • WEBアプリはUI確認も重要なテスト項目 • 表示のズレ •
文章の変更 • 情報の更新 • 人の目で判断する以外に方法はないか? • 画像比較の自動化
37.
スクリーンショット • Selenium IDE •
captureEntirePageScreenshot • Selenium WebDriver • driver.save_screenshot(‘screenshot.png’) • ウィンドウサイズを固定しておくこと • windowMaximize • manage.window.resize_to(1200,900)
38.
IMAGE MAGICK • 画像処理のOSSツール •
http://www.imagemagick.org • compareコマンド • 2枚の画像を比較して差分を計算 • http://www.imagemagick.org/script/compare.php
39.
• $ compare
–verbose –metric PSNR test1.png test2.png diff.png test1.png test2.png diff.png 画像比較
40.
JOB登録 • compareコマンドを実行するシェルを作成 • テスト実行日と正解画像の比較 •
テスト実行日と前日画像の比較 • JenkinsにJobとして登録 • Seleniumの後工程としてシェルを実行 • 実行結果 • 日付変更など定常的に発生する差分 • 差分値に閾値を設定してアラート • レイアウト変更などで発生する差分 • image too dissimilarエラーを拾いアラート
41.
現在の姿 Git Webアプリ • Jenkinsがテストの実行・レポートを管理 • プラグインやシェルの利用で開発・テストを効率化 pus h pull test kick result chatemail 開発者 fix post
42.
導入成果と課題 基本的な機能は1日で試験できるようになった レポート作成などのペーパーワークが減った
サービスレベルのモニタリングにも流用できた 面白がって自動化に興味を持ってくれる人が増えた • 運用フェーズにおける継続した取り組み • テストケースも保守しなければすぐに陳腐化 • 学習コストが高い?
43.
最後に • SeleniumによるWebアプリ試験以外にも、様々な 開発チームがCIや自動化を導入しています • 最後に少しだけご紹介
44.
例えばサーバのパッチ動作検証 試験対象 SV 試験対象
SV 環境構築-SV ①新規コードpush ②Jobをキック ③新規コードpull ③新規コードpull ④VM起動 ⑤ミドル構築・デプロイ ⑥試験実行 協調 master slave CLIツール (クラウドAPI用) + knife-solo SeleniumServer 開発者 ⑦VM終了 API呼び出し プロビジョニング パッチ適用 UI試験 リグレッション試験 ・・・ 試験-SV Git-SV 試験対象-SV
45.
他にも
46.
開発環境の構成イメージ Provision サーバ Stage(本番擬似環境) Test (インテグレーション) Production (本番環境)Dev(ローカル開発環境) 開発マシン
Pull / Push 運用監視 PM系 Webhook (PRトリガ) 障害通知 内製の簡易 Cloud Formation メール 送信擬似 通知
47.
ご清聴ありがとうございました
Download