自己紹介 2 上田 和樹 JaSST 北海道実行委員 TEF 道 札幌で活躍するアマチュアミュージシャン兼ソフトウェアエンジニア

Similar documents
Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx

D5-2_S _003.pptx

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

C#の基本

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

Windowsユーザでも 手軽に作れるiPhoneアプリ

◎phpapi.indd

PowerPoint プレゼンテーション

TestDesign for Web

2 概要 市場で不具合が発生にした時 修正箇所は正常に動作するようにしたけど将来のことを考えるとメンテナンス性を向上させたいと考えた リファクタリングを実施して改善しようと考えた レガシーコードなのでどこから手をつけて良いものかわからない メトリクスを使ってリファクタリング対象を自動抽出する仕組みを

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

ミガロ.製品 最新情報

Python によるジオプロセシング スクリプト入門

Splashtopスタートガイド

クラウド税務 会計 給与システム開発にスピードを!A-SaaS が Sencha Ext JS / Sencha Test を導入した軌跡 第 36 回エンバカデロ デベロッパーキャンプ アカウンティング サース ジャパン株式会社土田拓也 斎藤はるか 北村圭 本文書の一部または全部の転載を禁止します

PowerPoint プレゼンテーション

KDDI Smart Mobile Safety Manager Apple Business Manager(ABM) 運用マニュアル 最終更新日 2019 年 4 月 25 日 Document ver1.1 (Web サイト ver.9.6.0)

スライド 1

JDL Webストレージサービス はじめにお読みください

Rational Roseモデルの移行 マニュアル

コンテンツ作成基本編

2 ログイン ( パソコン版画面 ) Web サイトのログイン画面が表示されます 通知メールに記載されている ID と仮パスワードを入力して ログイン ボタンをクリックしてください ID パスワードを連続して 5 回間違うと 当 I D はロックアウト ( 一時的に使用不可 ) されるので ご注意く

<コンタクト>クイックマニュアル

目次 1. はじめに 更新履歴 ログイン ログアウト ログイン時の URL とユーザー名 ログイン ログアウト トップ画面 活動一覧画面 活動情報の

WinXp-Rmenu

Oracle SALTを使用してTuxedoサービスをSOAP Webサービスとして公開する方法

スライド 1

Microsoft Word - online-manual.doc

MP:eMeeting インストールマニュアル Version /06/30 株式会社デジタル ウント メア

Python によるジオプロセシング スクリプト入門

Microsoft PowerPoint - prog03.ppt

タイトルを1~2行で入力 (長文の場合はフォントサイズを縮小)

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

20th Embarcadero Developer Camp

YCU メール多要素認証の設定方法 ( 学生向け推奨マニュアル ) 2019 年 3 月 横浜市立大学 ICT 推進課 1

アプリで学習する QR コード アプリのダウンロードは こちらから ① アプリ検索 スマホでログイン 上記 QR コードからアプリのインストール画面に移動して アプリをインストールしましょう もし QR コードをうまく読み込めない場合は iphone 端末をお持ちでしたら App Store へ A

目次 第 1 章はじめに 動作環境 Internet Explorer の設定 取引先テスト実施内容... 5 第 2 章取引先テストの手順 ログイン 出荷梱包 ( 紐付けあり )

LightSwitch で申請システム Windows ストアアプリで受付システムを構築してみた 情報政策グループ技術職員金森浩治 1. はじめに総合情報基盤センターでは 仮想サーバホスティングサービスや ソフトウェアライセンス貸与といった さまざまなエンドユーザ向けサービスを行っている 上記のよう

コンテンツ作成基本編

Proselfの利用方法

Origin 2017 と 2018 のプロダクトキーは共通なので 両方のバージョンを合わせてご契約 台数までしかインストールすることができません あらかじめご了承ください Origin を使用する PC を変更したい場合は 元の PC でライセンスを取り外してから 別の PC に同じプロダクトキー

はじめに このマニュアルは BACREX-R を実際に使用する前に知っておいて頂きたい内容として 使用する前の設定や 動作に関する注意事項を記述したものです 最初に必ずお読み頂き 各設定を行ってください 実際に表示される画面と マニュアルの画面とが異なる場合があります BACREX-R は お客様の

目次 1. PDF 変換サービスの設定について )Internet Explorer をご利用の場合 )Microsoft Edge をご利用の場合 )Google Chrome をご利用の場合 )Mozilla Firefox をご利

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

成功しました と表示されればライセンス認証の更新は完了です プロダクトキーを入力した後にテキストエディタが開き エラーメッセージが表示された場合 WEB ブラウザを起動して指定されたアドレスにアクセスしアカウントでログインします 画面に表示された ライセンスファイル を全てコピーし Originのダ

1. マイページの取得 学情主催イベント原稿入稿システム URL 上記 URL にアクセスしてください ( ブラウザに直接入力してください ) 1-1. メールアドレスの入力 トップページ 上記の学情主催イベント原

ダウンロードページアップデートマニュアル.ppt

brieart初期導入ガイド

WinXp-Rmenu

PowerPoint プレゼンテーション

取扱説明書

事業計画

目次 研究目的 背景システム開発について実験および評価結論

SAMBA Stunnel(Windows) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxx 部分は会社様によって異なります xxxxx 2 Windows 版ダウンロード ボ

FAQ案(Linkup Manager)

PowerPoint プレゼンテーション

nendSDK android 設定ガイド

JACi400のご紹介~RPGとHTMLで簡単Web化~

SILAND.JP テンプレート集

DB STREET 設置マニュアル

1

PowerPoint プレゼンテーション

Microsoft Word - Gmail-mailsoft設定2016_ docx

< 目次 > 1. このアプリについて [P3] 2. アプリのインストール方法 [P3~] 2-1. Android 版アプリケーション 2-2. Web 版アプリケーション 3. アプリの流れについて [P4~] 4. 各クライアントアプリの操作方法 [P9~] 4-1. Android 版アプ

Copyright 2014 NTT DATA Corporation 2 INDEX 1. 一括請求 Assist とは 1-1. でんさいに係るサービスの関係性 1-2. 一括請求 Assist の必要性 1-3. 一括請求 Assist の特長 2. 機能紹介 2-1. 一括請求 Assist

目次 1. 謝辞 2. 特徴 3. 用意するもの 4. BCS MT2ePub で MT 形式ファイルを コンバートしてみよう 4.1 お試し版で コンバートする 4.2 ライセンス認証方法 4.3 ライセンス版で コンバートする 5. コンバートした epub 3 形式ファイルを 閲覧してみよう

JAIRO Cloud 初級ユーザー向け手引書 1. ユーザーアカウント管理 JAIRO Cloud 事務局 協力 : オープンアクセスリポジトリ推進協会 (JPCOAR) JAIRO Cloud 運用作業部会 ver date 修正内容 /11 初版

Zoiper 操作マニュアル Ver /8/10 作成 Ver /7/10 作成 Ver /4/30 作成 Ver /3/30 作成 *Zoiper は Zoiper so4ware 社の製品です

IMI情報共有基盤 「表からデータモデル」 データ変換のみを行う方向け画面説明

変更履歴 日付 ver 変更箇所 変更内容 2016/8/ 新規作成 2017/1/ 全体 参照 以下 等に係る記載揺れの統一 2017/2/ 全体 参照先の記載を修正 2017/5/ ASM に情報登録 リンクの URL を修正 参考リンク集

Ver.60 改版履歴 版数 日付 内容 担当 V /7/8 初版発行 STS V..0 04// Windows 8. の追加 STS V..0 05//5 Windows XP の削除 STS V.30 05/8/3 体裁の調整 STS V.40 05//9 Windows0 の追加

eYACHO 管理者ガイド

もくじ 1. 全国統一小学生テストのシステムをご利用になる前に PC の初期設定について P3 2. よくあるご質問 (1) 生徒の申し込みについて (2) 実施要項について (3) 受験票 QRコードの印刷について (4) スキャン送信について (5) 実施後報告について P4 P5 P6 P7

内容 はじめに... 3 セキュリティと仕様変更について... 3 Windows10 と IE Java のインストール... 3 Java が入っていない場合... 4 Java が古い場合... 7 Java の設定が必要な場合... 8 Mac と Safari の場合...

変更履歴 日付 Document ver. 変更箇所 変更内容 06/7/.00 - 新規作成 06/8/9.0 管理プロファイルを登録する Web フィルタリング の記載を追加 07//6.0 全体 連絡先ポリシーを共有アドレス帳に変更 全体 参照 以下 等に係る記載揺れの統一 07/0/.03

スライド 1

(Microsoft Word - VisionPro\203C\203\223\203X\203g\203\214\201[\203V\203\207\203\223\203}\203j\203\205\203A\203\ doc)

Microsoft Word - Outlook Web Access _IE7_ Scenario.doc

Microsoft Word 基_シラバス.doc

情報連携用語彙データベースと連携するデータ設計 作成支援ツール群の試作及び試用並びに概念モデルの構築 ( 神戸市こども家庭局こども企画育成部 千葉市総務局情報経営部業務改革推進課 川口市企画財政部情報政策課 ) データ構造設計支援ツール設計書 2014 年 9 月 30 日 実施企業 : 株式会社ア

はじめに Microsoft Forms( 以下フォーム ) は 九州産業大学の学生及び教職員が利用できる Office365 の機能の一つです アンケートやクイズ ( テスト ) を簡単な操作で作成することができます 作成したアンケートやクイズは マルチデバイスでの回答が可能で 回答は即時集計され

Microsoft Word - RefWorksコース doc

Microsoft Word - manual.doc

スライド 1

フォルダの作成 使用率 (%) が表示されます 新規フォルダの作成をクリック フォルダ名 を入力し 作成 ボタンをクリック ユーザー設定で 使用言語の選択ができます ( 日本語 英語 中国語 ) ファイルのアップロード 1 ファイルをアップロードするフォルダをダブルクリックする このフォルダにアップ

Taro-time to spare.jtd

SOBA ミエルカ クラウドセミナーモード 配信者マニュアル 目次 はじめに 配信者のユーザー登録について ライブ配信の作成 ライブ配信への招待 ライブ配信への参加方法... 4 (1) ライブ配信を選んで参加する方法 ( 管理者 配信

Microsoft Word - Gmail-mailsoft_ docx

Microsoft Word - CygwinでPython.docx

ATOK Syncの設定方法と使い方(Windows用)

Microsoft Word - ModelAnalys操作マニュアル_

1. WebShare 編 1.1. ログイン / ログアウト ログイン 1 WebShare の URL にアクセスします xxxxx 部分は会社様によって異なります xxxxx. 2 ログイン名 パスワードを入力し

V8.1新規機能紹介記事

PowerPoint プレゼンテーション

予約などがうまくいかないとき 次の方法をお試しください ( 大阪市立図書館ホームページ よくある質問 FAQ から抜粋 ) 改訂 目次 Q 予約カート ボタンをクリックしても開かないのだが Q ポップアップがブロックされました という表示がでます Q Windows Media

PowerPoint プレゼンテーション

SciFinder (Web版) のエラーへの対処法

PowerPoint プレゼンテーション

ArcGIS Runtime SDK for .NET アプリケーション配布ガイド

Microsoft PowerPoint - KanriManual.ppt

Transcription:

1 Selenium のラッパーツールを自作して公開してみた ~ 自動化 WG のチャレンジ ~ Team

自己紹介 2 上田 和樹 JaSST 北海道実行委員 TEF 道 札幌で活躍するアマチュアミュージシャン兼ソフトウェアエンジニア

Selenium とは? 3 Web アプリケーション用のオープンソースツール ブラウザの操作を自動化することが出来る WEB アプリケーションの UI 自動テストなどに使用できる 大きく分けて 以下の二種類が存在する Selenium IDE Selenium Web Driver

Selenium IDE 4 ブラウザ操作の自動化ツール 期待値比較も出来る ( メリット ) Firefox のアドインとして動作するため インストールが簡単 実際の操作を記録してスクリプト化してくれるので プログラム知識が不要 期待値も 操作を行いながら設定する事が可能 ( デメリット ) FireFox でしか動作できない メンテナンス性が低い テスト対象画面に変更があると大変 部品化が困難

Selenium WebDriver 5 WEB を対象とした テスト自動化のオープンツール マルチブラウザ対応 Java や Python や C 言語で動作する Android や ios でも実行可能 スクリプト記述式なので 高度な操作やテストスクリプト設計が可能 テスト部分は JUnit など 既存のフレームワークを使用

Selenium WebDriver 6 ( メリット ) JAVA などのオブジェクト指向言語が使えるため 部品化や最適化が容易 メンテナンスを考慮した設計が行える 共通化をうまく行えば 修正は一箇所で済む メジャーなブラウザ毎に WebDriver が用意されているので ブラウザを問わない ( デメリット ) 言語の開発環境が必要 (JAVA+ECLIPS など ) プログラム開発知識が必要 期待値確認は スクリーンショット出力か JUNIT などの言語側のフレームワークが必要

経緯と問題点 7 Selenium を選択する自動化の場面が増えてきた Selenium IDE は取り掛かりやすいが FireFox でしか動作しない & メンテナンス性が低いなどの問題アリ Selenium Web Driver は上記の問題解決になったが ある程度プログラム知識が必要になる

Selenium Web Driver を 8 スクリプトで記載する場合 (JAVA) そもそもプログラム書けない 書けるけどめんどくさい メンテナンスが面倒 開発環境を用意するの面倒

問題解決のために 9 プログラムを書かずに自動化スクリプトを構成することはできないか? キーワード駆動 という考えはとても良さそう! オープンソース / フリーツールで上記が達成できないか? あるにはあったが 必要な機能が実装されていない 機能追加が困難な作り

やりたいことのイメージ 10 自動化用のキーワードを記載 操作対象アクション期待値 お問い合わせ のリンク クリック タイトルが お問い合わせ ココが欲しい ツールが勝手に読み込んでスクリプトに変換してくれる! Selenium がコードを処理して自動テスト実施 driver.findelement(bt.linktext(" お問い合わせ ")).click; try{ assertequals(" お問い合わせ画面 ",driver.getrtitle()); < 略 > }

弟子の S 井に無茶ぶり 11 おれ なんか いいツール探して S 井 わかりました! S 井 S 井 適したのが無いっス おれ じゃあ作って S 井 わかりました!

制作に携わった札幌の男たち 12 ( なんとなく立ち上がった自動化 WG) おれ ( 企画と無茶ぶり ) テスト屋 業務でコードは書かない S 井 ( 全体設計とほぼすべてのコーディング ) テスト屋 業務でコードは書かない A 池 ( 最終仕上げと他ツール連携の構築 ) テスト屋 業務でコードは書かない

弟子の S 井に無茶ぶり 2 13 おれ 自動化部分はSelenium 使ってね S 井 わかりました! S 井 でもSelenium 一切知りません おれ ググって S 井 わかりました!

弟子の S 井に無茶ぶり 3 14 おれ 期待値の検証はJunit 使ってね S 井 わかりました! S 井 でもJunit 一切知りません おれ 何とかして S 井 わかりました!

弟子の S 井に無茶ぶり 4 15 おれ やっぱり Jenkins 連携もしたいわ S 井 わかりました! S 井 でもJenkins 以下略

S 井と A 池の活躍で 何とか完成 16 エクセル上でキーワード書くと スクリプトに変換して Selenium が動く 期待値比較と結果出力は Junit を使用 エクセルの使いやすい UI を利用できる 定義されたキーワードを配置していくだけなので スクリプトの知識は不要 テストケースとして認識できるので 可読性とメンテナンス性が高い はず

Guarana( ガラナ ) 17 ブラウザの自動テストが可能 ( 自動実行と期待値比較 ) IE/FireFox/Chrome/Edge プログラム言語の知識がなくても自動テストを実行できる テスト結果をスクリーンショットで保存する機能もあり ループ処理により大量のデータを生成などにも利用できる 北海道名物のアレから仮にコードネームをつけたら そのままになってる 基本は植物の名前ですね 開発環境は不要 (JAVA のランタイムは必要 )

Guarana 概要 動作の記述 Selenium が読み込めるスクリプトに自動変換 Selenium IE Driver 自動操作対象 ブラウザ (IE) エクセルでテストケース記述 Guaran a SeleniumDri ver を動作させるクラス FF Driver ブラウザ ( FF) ここを作った Chro me Driver ブラウザ ( Chrom e)

せっかくなので公開してみた 19 まずは自動化に興味を持ってもらいたい ツール ( スタンドアロン版 ) を無償公開 自動化を体験したことない方 ( ウチのメンバ含む ) に おおお 動いた! を感じてもらいたい 小規模の WEB 自動テストやテストデータ作成などに使えるはず ( 有用であるはず ) 公開によって適正なフィードバックを得て 自分たちの技術向上のために役立てたい http://www.know-net.co.jp/blog/ ダウンロード からご自由に使用してください ( 使用に関しては README の内容を確認ください )

テストケース兼自動化スクリプト画面 20 テストケース概要 画面と部品要素指定部 動作キーワードとデータ指定 期待値と結果比較方法

アクションの指定 21 入力データ設定 用意されたアクションワードから選択

期待値の比較方法選択 22 期待値の設定 期待値の比較方法を選択

キーワードファイルをエクセルで作っ 23 たらバッチファイルに D&D

記載したキーワードの通りに動く 24 わたしはウエダ

テスト結果例 ( テキストにて掃出し ) 25 Test-001_ 全項目入力, テスト結果 : NG java.lang.assertionerror: Expected: is 上田 " but: was 土田 " Test-002_ 必須項目のみ入力, テスト結果 : OK 期待値 : 櫻井, 実測値 : 櫻井期待値 : 011, 実測値 : 011 期待値 : mail@hogehoge.co.jp, 実測値 : mail@hogehoge.co.jp

スクリーンショット 26

その他 ( スタンドアロン公開版にはま 27 だ未実装ですが ) Jenkinsとの連携 (CI) Appiumとの連携 スマフォ (WEBサイト/ ネイティブ ) SeleniumGridを使用して並行処理

参考 Jenkins を使った Test 結果 28

制作を通じて 29 自分たちが使いたいツール / 使えるツールが手に入った 色々な勉強ができた オブジェクト指向開発 Selenium Junit Jenkins Appium やはりモノ作りは楽しかった まだフィードバックは少ないが 意見をくれる方 ( 実際に使ってくれている方 ) がいると励みになる

適用事例 30 Web サイト / アプリの回帰テスト 大量テストデータの作成 複数アカウントのログイン試験など

結論 31 使いたいツールがないなら作ってしまえ 作り方が分からないなら ググれ それでもわからないなら みんなで助け合え それでもわからないなら S 井に 意見が欲しければ公開しちゃいな

ありがとうございました 32 Team