スピード重視の開発体制を実現するために、KARTEの開発で取り組んでいるテスト自動化について紹介します。Selenium webdriver, CircleCI, Ghost Inspector
スピード重視の開発体制を実現するために、KARTEの開発で取り組んでいるテスト自動化について紹介します。Selenium webdriver, CircleCI, Ghost Inspector
何年も前、SeleniumやWebDriverの話で盛り上がった記憶があります。ただ、その当時はまだRailsなどバックエンド中心の文脈でした。今、フロントエンドに軸足が移る中、ブラウザテストの状況はどうなったのでしょう? 不思議なことに、フロントエンド界隈でそれほど話題に上がって来ないですよね (私の周りだけ?)。結構大事なのに。実は皆さん、「Seleniumアレルギー」なんじゃないですか? 公式サイトに漂う ゼロ年代感(下図)。Javaへの躊躇、「めんどくさい」と聞かされ続けた過去、無意識に避けてしまうのがSeleniumです。 ただ、フロントエンドの文脈でこそ、ブラウザテストは重要度を増しています。そこで「Selenium触りたくない病」の筆者が、 四苦八苦した背景 と、2016年だからこそ 見えてきた落とし所 を書いてみたいと思います。 註: 思ったより長文になってしまいました。先
オープンソースのブラウザテストツール「Selenium WebDriver」の使い方と、テストスクリプトを効率よくメンテナンスする方法について、実際にプログラムを書きながら学べるチュートリアル形式教材です。 前半は、Selenium入門ドリルです。基礎から丁寧に解説されているので、Seleniumは初めての方でもテストが書けるようになります。 後半では、テストのメンテナンス効率をあげるための技法「ページオブジェクトデザインパターン」の習得を目指します。こちらも基礎から解説していくので、Seleniumが初めての方でも大丈夫です。 プログラミング言語Javaでテストスクリプトを作成するので、Javaで基本的なプログラムが書ける必要があります。 自習教材として利用する場合 前提知識・事前準備手順ドキュメントの手順に従い、必要な事前準備とインストールを完了させます。作成したEclipseプロジェ
今日は、テスト自動化と、ブラウザ自動テストツールSeleniumについて、知らない方でも分かるようイチから解説したスライドを作ったのでご紹介します。 このスライドは、2014年2月28日に開催された「Enterprise × HTML5 Conference」の発表スライドに、時間の関係で省略した多数の未発表ページを加えたものです。 イチから分かる解説についてはこれで終わりですが、せっかくですのでスライドの見どころをご紹介しましょう。
JenkinsとSeleniumでJavaScriptのテスト自動化、最初の一歩。第1回 日本Seleniumユーザーコミュニティ勉強会 1月18日に都内で開催された「第1回 日本Seleniumユーザーコミュニティ勉強会」。Seleniumプロジェクトの共同設立者であるJason Huggins氏による基調講演に続いて、有志によるライトニングトークが行われました。 本記事ではその中から、玉川紘子氏による「Jenkins x Selenium 最初の一歩」の内容を紹介します(追記:本記事のタイトルは「JenkinsとSeleniumでJavaScriptのテスト自動化」とありますが、実際の内容は「Selenium RCがJavaScriptの技術を用いて自動テストを行っている」という点がポイントという指摘がありましたので、ここに追記します)。 Jenkins x Selenium 最初の一
テスト自動化システムの構築支援を手掛けるTRIDENTは7月9日、Webアプリケーション向けテストツール「Selenium」の利用促進を目的とした団体「日本Seleniumユーザーコミュニティ」を設立したと発表した。Seleniumは、Webブラウザーのマウス操作を再現するツールで、Webアプリケーションの開発現場で導入が進みつつある。TRIDENTの伊藤望代表取締役社長は、「Seleniumの情報を日本語で収集しやすくすることで、海外では進んでいるテスト自動化の取り組みを、日本でも推進したい」と、コミュニティ開設の狙いを話す。 まずは、コミュニティの参加者が情報交換する場として、Googleグループ内にオンラインのフォーラムを開設した。フォーラムに参加するにはGoogleアカウントを取得し、コミュニティのトップページに表示される参加申請のボタンをクリックする。現在はTRIDENTがフォー
AppiumはiOSのテストを自動化するSeleniumを使ったテストツールです。 iOSのテストはユニットテストが基本と思われます。実際の操作については人が細かくテストを行っているのではないでしょうか。その面倒なUIテストを自動化してくれるのがAppiumです。 実行中です。 文字の入力などは自動で行ってくれます。 テストコード。 AppiumはテストコードをJava/Ruby/PHP/node.js/Pythonで書くことができます。さらにSeleniumを使って開発されているのも特徴です。テストは分離しているため、既存のアプリに何らかのSDKを組み込んだりする必要はありません。近く、Androidもサポートされるそうです。 AppiumはMac OSX用のオープンソース・ソフトウェア(Apache License 2.0)です。 MOONGIFTはこう見る iPhoneを自動操作して
皆さん、自動テストしていますか?体感的には、ユニットテストは当たり前のように開発工程に組み込まれるようになってきているのではと思います。一方で、どこの部分を対象にしているかというと、モデルであったりコントローラであったりと機能単体のテストです。品質をつくり上げるには、まず単体での精度を上げることです。ですので、ユニットテストで品質を保証するのは正しい。圧倒的に正しいです。 一方で、最近ではサポート対象のブラウザやバージョンが増えたり、JavaScriptの第二の全盛期であったり、IEが未だ消えてなくならなかったりと、個々のブラウザでテストすることの重要性が増しています。じゃぁWeb画面も自動的にテストすればええやん、Seleniumもあるしとなると思います。ただ導入しようとすると、7〜8割方失敗するのですよ。これが。 理由としては、これに尽きます Seleniumのテストと、本体のソースの
こんにちはこんにちは! エンジニア川端です。 春ですね。花見ですね。フェンリルでも、大阪城公園に花見に行ってきました。 花は桜木、男は岩鬼。美しい桜を見てリフレッシュです。 「Sleipnir 3 for Windows」を始めとする各プロダクトの開発者の面白い一面なども見る事ができ、楽しゅうございました。 花見に行くためには定時ダッシュしたいわけですが、そんな時に限ってバグを発見したり、テスト用のチェックシートが積み上がっていたりするものです。 繰り返し繰り返し行うテスト(レグレッション・テスト)は、できるだけ人手をかけずに行い、とっとと花見に 効率的な開発を行いたいもの。開発者のみなさんは色々工夫をされていることと思います。 私はラクダスキーなので、大体のものは Test::More とかでやってしまいますが、最近はちょっと「Selenium」も触ったりしてます。 「Selenium」
一連のSelenium特集まとめ 開発サイクルを短くするために、Seleniumを使う アジャイルなソフトウェア開発を始めてしばらくするとアジャイルの効果が実感でき、よりアジャイル度を上げるために開発サイクルを短くしたくなります。この時、回帰テストの工数がボトルネックになります。あるプロジェクトでは回帰テスト二日かかり、開発サイクルを1か月より短くすることができませんでした。開発環境、ステージング環境、本番環境とそれぞれ2日、計6日かかると20日の開発サイクルの30%を消費してしまいます。2weekサイクルにしようとすると実に開発サイクルの60%を超えることになり、さすがに満足いく開発速度(ヴェロシティ)を提供できなくなるのであきらめました。 そこで人力で行う回帰テストの一部を自動化することによって回帰テストの工数を下げる必要があります。また自動で行う場合は、いつでも回帰テストを実行できる
Uncategories Jenkins, Seleniumを使った自動テストの課題とこれからの取り組み こんにちは。QAの井上です。 今回は現在QAチームで行っている自動テストに関する課題、それに対する取り組みについて紹介します。 まだまだ詰めが甘いところがあると思うで、フィードバックいただけるとうれしいです。 早速ですが、QAチームではCIツールにJenkinsを使用していて、約8割がSeleniumによるテストケースでできています。 テストケースの作成から実行まではざっくりですが、以下のようになっています。 - テストケースはFirefoxのIDEを使用して作成 - 作成したテストケースはSVNに保存 - 毎日夜中に最新のソースコードに対してテストを実施 - テストの実施は、Jenkinsのseleniumhqプラグインを使用して、複数台のクライアント(Windows)上でSelen
技術評論社の傳さんより献本御礼。 Jenkins実践入門 ?ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus) 作者: 佐藤聖規,和田貴久,河村雅人,米沢弘樹,山岸啓,川口耕介出版社/メーカー: 技術評論社発売日: 2011/11/11メディア: 単行本(ソフトカバー)購入: 26人 クリック: 496回この商品を含むブログ (61件) を見る ソフトウェアを作りリリースする為には、まず動くコードを書くことが求められますが、書いたコードを動くソフトウェアであることを保証することも、等しく重要です。ですが後者のスキルを体系的に入門レベルまで落として書いた本はあまり無いように感じます。後者を手作業でやったら死ぬのは明白なことなのですが、その為には自動化を手助けする武器が必要になります。ビルドシステムを真剣に考える本として本書を位置づけるのが最も妥当ではないか、と感
確かJenkinsの生みの親が語る、継続的インテグレーションの未来 − @ITで出てきたSauceLabsというのが気になったので、ちょっと試してみました。 ちなみに、クラウドと言ったらもちろんコレですよね。 概要 SauceLabsとは Cross browser testing with Selenium - Sauce Labsは、クラウド上でSeleniumテストケースを実行することができるものです。自動でスクリーンショットやビデオを撮る機能があり、いわゆるSelenium 1はもちろんSelenium 2(WebDriver)も対応しています。200分/1ヶ月の無料枠やGithubアカウントでのログインもあり、チュートリアルも結構豊富なので、試すだけならすぐに試すことができます。 ちなみに、似たようなサービスとして"CloudTesting"というものもあります。残念ながらこちら
昨日、パプテマス Scirocco 触ってたら中はRobotiumというのを使っていたので調べてみたら、そこそこメジャーなシナリオテストツールだったので、触ってみました。 Robotium とは Androidのシナリオテストを簡単に書けるライブラリです。UIスレッドを意識せずに書けるので、テスト仕様書に近いコードを書くことができます。ブラウザテストツールのSeleniumを意識してるみたいですね。 公式サイト robotium - It's like Selenium, but for Android™ - Google Project Hosting サンプルプロジェクトを動かす。 とりあえずサンプルプロジェクトを動かします。やることは二つ。 SDKのサンプルアプリ notePad をインポート ExampleTestProjectをインポート テスト対象となるプロジェクトはSDKに含
JavaFX2.0のWebViewで、Javaからブラウザが操作できるようになって、これをSeleniumが組み込んだらおもしろいことになるだろうなと思ってたのですが、よくよく考えると、SeleniumナシでWebサイトのUIテストが簡単に書けることに気づきました。 ということで、まずはテスト対象のサイトをつくってみます。 最初の画面(first.html)。テキストフィールドがあって、OKボタンを押すと「ほんと?」という確認ダイアログがでて、「OK」を押すと次の画面に行きます。 <!DOCTYPE html> <html> <head> <title>テスト画面</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <h1>テスト画面</h1> <form id
FuncUnitって? WEBアプリケーションの単体テストフレームワークです. 公式ページ: FuncUnit 基本的にはjQuery風の記法でユーザのアクションを定義し,JavaScriptの単体テストフレームワーク QUnitでアサートするだけでユーザのアクション(テキスト入力,クリック,ドラッグアンドドロップなど)に対するアプリの動作をテストすることができます. なので,jQueryとQUnitを使ったことがある人であれば比較的簡単にテストコードを書くことができます.また,どちらも使ったことがなくても使う分にはそれほど難しいものでもないので,使ってみることをオススメします. 一回書けば延々ブラウザでポチポチする作業とはおさらばです. また,もう一つ重要な点としてコマンドラインからテストが実行できるという点です(実行中にFirefoxやIEが立ち上がったりしますが).ということはHud
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く