behat+seleniumを組み合わせ方がやっと、理解できたのでメモ。 behatは単体テストとかIntegrationテストを自動化してくれるやつで、cucumberのPHP版です。 もうちょっと英語が読めれば、数時間で終わったはずなのに、時間かかってしまったww 自分の備忘録として残します。 日本語資料があまりないみたいなので、皆様の参考になればと思ってます。 ちなみに環境は、Mac OS Xの10.8.3です まず、BehatとMInkのインストールと初期の使い方に関しては、以下を参照してください。 http://behat.org/ 基礎がつかめれば、本題 まず、composer.jsonは以下 { "require": { "behat/behat": ">=2.4@stable", "behat/mink": "1.4@stable", "behat/mink-extensi
JenkinsとSeleniumでJavaScriptのテスト自動化、最初の一歩。第1回 日本Seleniumユーザーコミュニティ勉強会 1月18日に都内で開催された「第1回 日本Seleniumユーザーコミュニティ勉強会」。Seleniumプロジェクトの共同設立者であるJason Huggins氏による基調講演に続いて、有志によるライトニングトークが行われました。 本記事ではその中から、玉川紘子氏による「Jenkins x Selenium 最初の一歩」の内容を紹介します(追記:本記事のタイトルは「JenkinsとSeleniumでJavaScriptのテスト自動化」とありますが、実際の内容は「Selenium RCがJavaScriptの技術を用いて自動テストを行っている」という点がポイントという指摘がありましたので、ここに追記します)。 Jenkins x Selenium 最初の一
JavaScriptテスト自動化ツールSeleniumのこれまでとこれから(前編)。第1回 日本Seleniumユーザーコミュニティ勉強会 JavaScriptのテスト自動化ツールとして知られるSeleniumに関する勉強会「第1回 日本Seleniumユーザーコミュニティ勉強会」が、1月18日に都内で開催されました。 JavaScriptを活用した大規模なWebアプリケーションが増えるなかでSeleniumへの注目は高まっており、会場には100人近い参加者が集まりました。この記事では、そのイベントをダイジェストで紹介します。
前回のお話 PHP WebアプリケーションのテストにSeleniumを使う - その1:SeleniumIDE編 に引き続きSeleniumについて。今回はSelenium Serverを立てて、PHPUnitと連携させてみます。 これができるとユニットテストでは難しいMVCのコントローラのテストや、エンドツーエンドテストができて、 クラス全体の構成を大きく変えるような粒度の大きいリファクタリングを安全に行うことができるようになります。 なお、以下のオペレーションはすべてCentOS6上を想定しています。 Selenium Server PHPUnitとSeleniumの連携については公式ドキュメント(日本語訳あり)があります。Selenium Serverのインストール方法もここに記載されています。 http://phpunit.de/manual/current/ja/selenium
某所某日 お客様「この画面遷移が〜(延々)」俺「はい…」お客様「あっ、そういえばこの画面でこれ追加」俺「はい…」 … 俺「これ画面遷移マジ複雑だし、仕様変更の量半端ないし、これは後でエンバグするやろ…。自動テストしたい…、でもTwitter連携あるからなー。PHPだし…ちゃんとしたMechanizeみたいなのないし*1…seleniumしかないか…」 Seleniumやる前のイメージ ・なんかすごい面倒くさい ・なんか色々面倒くさい ・なんかめっちゃ面倒くさい ↓ ・しかたない、もうPerlでテスト書こうかな… やった後のイメージ ・複雑なことしなければ超カンタンじゃねーか!だまされた ・PHPで十分や!!! 手順 ・SeleniumServerをいれる ・PHPUnitで動くSeleniumのライブラリ入れる ・Seleniumのテストケースを生成するツールをいれる ・テストケース作る
本シリーズは、WebブラウザをUIとして利用した業務システムやアプリケーション(以下、Webシステム、Webアプリケーション)のテストをテーマとして、Webブラウザを使ったテストを自動化するOSSのツール「Selenium2」を紹介します。業務システム開発の現場で適用してきたノウハウを元に、これまでSelenium2について知らなかった人から以前使った経験がある人まで、より実践的な「使える」内容を盛り込んでいきたいと思います。 1. はじめに 今回は、Selenium2を利用して作成した自動テストをフル活用すべく、JenkinsというCI(継続的インテグレーション)ツールを利用して、Selenium2のテストを自動実行する方法について説明します。また、IE、Firefox、Chrome、Safariなど多様化するブラウジング環境でのテスト方法やテストの並列化についても説明します。 2. J
はじめに 今回はSelenium WebDriverをご紹介します。ブラウザ操作を自動化する際には最適な仕組みです。Webシステムのend-to-endテストを自動化する際には、ブラウザ操作が必要になることがあります。そんな時にSelenium WebDriverはとても便利です。 Selenium Seleniumとは、ブラウザをプログラムで動かすフレームワークです。この仕組みを使うことで、ユーザーテストなど、様々な処理を自動化できます。現在のところ、Seleniumは以下のWebブラウザを制御できます(公式サイト)。 Internet Explorer Firefox Chrome Opera Android標準Webブラウザ Safari (iPhone標準Webブラウザ) 実際に使用する際には、以下の2つの仕組みのどちらかを使用します。
ブラウザの画面テストを自動化するツール、Selenium。 大変便利なツールなのですが、Selenium RC、Selenium IDE、WebDriverなど色々な名前が出てきて、「なぜこんなややこしいことになっているんだろうか」と思ったことはありませんか? その理由を知るには、Seleniumの歴史について知る必要があります。 今回は、Seleniumの誕生から2013年5月現在に至るまでの歴史を振り返りながら、それぞれのツールがどのような位置付けのものなのか、見ていくことにしましょう。 ※ 歴史はいいからとりあえずSeleniumを使ってみたい、という方は、Selenium公式サイトからSelenium IDEをダウンロードすれば使えます。 Selenium Core Seleniumの原型は、米ThoughtWorks社で働いていたJason Huggins氏によって2004年に作
Selenium IDEは、ブラウザ操作を記録してSeleniumのスクリプトを生成できるFirefoxプラグインで、プログラムを書かなくてもSeleniumのスクリプトが作成できることから、多くの人に利用されています。 記録したスクリプトの再生をSelenium IDEで行うこともできるのですが、Firefoxプラグインということもあり、これまで実行はFirefoxでしか行うことができませんでした。 しかし、2013年4月26日にリリースされたSelenium IDE 2.0を使えば、Selenium IDEからChromeやInternet Explorerなど他のブラウザ上でのテストスクリプト実行を行えるようになりました。 今回は、SeleniumのコミッターであるSamit Badle 氏のブログ記事 "WebDriver Playback in Selenium IDE is H
Seleniumを使ったWeb UIの自動テストシステムを作ったので、やったこと・感想などをまとめてみます。 テスト対象 テスト対象は、AJAXなWebアプリです。 サーバーはREST APIを提供するのみで、UIは全てJavaScriptという構成。 サポートブラウザはIE7以降,Firefox3.6以降。(特定の組織内で使うものなので、Operaなどは未サポートです。) 使用したSelenium 2.x 系列を使いました。 WebDriverと統合されたあとのやつです。 言語はJavaを使用。 テストの目的 以下を目的としました。 機能追加/不具合改修でのデグレード防止 機能追加や不具合改修に伴う動作不正を検出し、デグレードを未然に防止する。 動作確認コストの削減による開発効率の向上 ブラウザごとの動作確認を自動テストを利用して行うことで、機能実装時の確認工数を減らす。 リリース前のリ
Selenium2が便利と聞いて試してみたら、InternetExplorerDriverが起動しなくてハマったのでメモしておきます。 取りあえず依存関係をpom.xmlに追加して、以下がテストメソッド(基本チュートリアルのコピペ)になります。 @Test public void testname() throws Exception { WebDriver driver = new InternetExplorerDriver(/*ieCapabilities */); driver.get("http://www.google.com"); WebElement element = driver.findElement(By.name("q")); element.sendKeys("Cheese!"); element.submit(); driver.quit(); } これを実行
ブラウザを使った自動テストツールの代表格であるSelenium。Firefoxのプラグインというイメージが強かったのですが、今では複数のブラウザを動かせるようになっています。更にサーバサイドからの起動も出来るので、ユニットテストの一部として組み込むことが出来ます。またSelenium 2.0系が出て、WebDriverというモノも出てきました。複数のプロジェクトがあって新旧の情報が入り交じっていますので、一度整理した上で使い方を学ぼうと思います。 Seleniumのプロジェクト Selenium IDE 恐らく多くの人がSeleniumと聞いて思い浮かべるのがSelenium IDEだと思います。Firefoxのプラグインとして、テストケースの開発を行う為のツールです。画面の操作を記録したり、それをテストケースという形で保存したりする機能を持っています。また、テストの再現も行います。 Se
Seleium2.0の全体像の説明はWebDriver - あすかぜ・ねっとが参考になります。 しかし、実際に動かしてみないとピンと来ないのでGettingStarted - selenium - Getting started with WebDriver - Browser automation framework - Google Project Hostingに従って、Selenuim2.0を動かしてみましょう。 ダウンロードする 今は2.4が最新 好きな場所に解凍する Eclipseで新規Javaプロジェクトを作る プロジェクト名はGettingStartSeleniumなどおすすめ プロジェクトの参照ライブラリにダウンロードしたjarを追加する プロジェクトを右クリックして「ビルド・パス(B)」 > 「外部アーカイブの追加(V)」 selenium-java-2.4.0.jar
ここではSeleniumとPHPUnitを使って簡単にスモークテストを実現する方法を解説します。 基礎的な内容ですが、復習ということで。 下準備FirefoxにSelenium IDEをインストールするSelenium Serverを導入する(※ダウンロードへの直リンクはこちら)どちらもhttp://seleniumhq.org/download/からダウンロード可能です。Selenium IDEを使ったテストケースの作成もうこれはあちこちのサイトで説明されているので特に説明の必要はないでしょう(笑) 簡単に言えば、Firefoxを起動し、さらにSelenium IDEをたちあげて、操作を記録していけば良いだけです。 参考サイト SeleniumでWebアプリケーションテストを自動化 (ちょっと古いですが内容は役にたちます)Selenium IDE日本語ドキュメントテストケースを自動で実行
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
複雑なHTMLの操作はXPATHで。 † NAMEタグやIDタグで指定できないときは、XPATH指定を使う。 WebElement element; element = driver.findElement(By.id("passwd-id")); element = driver.findElement(By.name("passwd")); element = driver.findElement(By.xpath("//input[@id='passwd-id']")); XPATHを使うと、RADIOボタンもVALUE指定で選択できる。 ↑ フレームの移動 † これは、以下のコードで実現できる。 driver.switchTo().frame("frameName"); 上記の実行でフレームを移動する。フレームが入れ子になっている場合は、次のフレーム名へ移動するコードをもう一度実行
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く