https://d-cube.connpass.com/event/149831/ スライド中「エンジニアの斎藤」という謎の人物が出てきますが、「エンジニアの採用」の誤記でございました。お詫び申し上げます。
こんにちは、中島 (@nazomikan)です。 ※この記事は2016年に書かれた記事でver2系を対象に書いています。 ver3,4-betaで色々変わってるのでその辺についてのキャッチアップはこちらの記事をご利用ください 最近のselenium-webdriverの話 本記事は株式会社ネクスト(Lifull) Advent Calendar 2016の1日目の投稿です。 ブラウザベースのテストツールのseleniumをコードから実行するselenium-webdriverのnode版について導入からAPI紹介までしていきます。 あと手元で作業するにあたってAPIの翻訳(ソース上にうまってるdocsの翻訳)をしてたのでそれも載せておきます(むしろそっちメイン) 導入 webdriverのテスティングについて テストの書き方 よくある使い方 API翻訳 driverのAPI navigat
http://seleniumjp.connpass.com/event/24206/ 第3回日本Seleniumユーザーコミュニティ勉強会の資料です。 Seleniumのアンチパターンについてです。
Seleniumを使ったWeb UIの自動テストシステムを作ったので、やったこと・感想などをまとめてみます。 テスト対象 テスト対象は、AJAXなWebアプリです。 サーバーはREST APIを提供するのみで、UIは全てJavaScriptという構成。 サポートブラウザはIE7以降,Firefox3.6以降。(特定の組織内で使うものなので、Operaなどは未サポートです。) 使用したSelenium 2.x 系列を使いました。 WebDriverと統合されたあとのやつです。 言語はJavaを使用。 テストの目的 以下を目的としました。 機能追加/不具合改修でのデグレード防止 機能追加や不具合改修に伴う動作不正を検出し、デグレードを未然に防止する。 動作確認コストの削減による開発効率の向上 ブラウザごとの動作確認を自動テストを利用して行うことで、機能実装時の確認工数を減らす。 リリース前のリ
PageObject パターンを楽に実現するために、PageFactory というクラスがあります。 PageFactory - selenium - Description of the PageFactory in the WebDriver support library. - Browser automation framework - Google Project Hosting PageObject クラスのフィールドに WebElement をマッピングしてくれます。 上記のページを見ると分かりますが、フィールド名か、@FindBy アノテーションで紐付けます。 こんな感じに実装していたのが、 import static org.openqa.selenium.support.ui.ExpectedConditions.*; ... public class Login {
リッチなユーザインターフェースを備えたWebアプリケーションでは、Ajaxやアニメーションなどの非同期処理はよく用いられます。こういったWebアプリケーションをSeleniumでテストする際、従来の静的なユーザインターフェースを持つWebアプリケーションと同じようにテストを作成していると、実際にテストを動かした時に次のような問題が発生することがあります。 存在するはずの要素が見つからない(あるいはその逆) 画面全体、もしくは特定の要素の内容が更新されていない 例えば、以下のようなソースコードです。 ajaxButton.click(); WebElement fooElement = driver.findElement(By.id("foo")); 非同期処理を伴うボタンをクリックした後にfooというIDを持つ要素を探していますが、この要素が非同期処理の完了後に表示される要素であった場合
ByChained というのがあるようです。 ... <ul id="drink"> <li>珈琲</li> <li>緑茶</li> <li>牛乳</li> </ul> <ul id="food"> <li>パン</li> <li>米</li> </ul> ... こんな HTML で、2個めの ul 内の li を取りたいときに、こんな感じで書いてました。 WebElement food = driver.findElement(By.id("food")); if (food == null) { return Collections.emptyList(); } return food.findElements(By.tagName("li")); それが、ByChained を使うとこんな風に書けました。 return driver.findElements(new ByChain
[This post is by Dounia Berrada, an engineer on the EngTools team. — Tim Bray] Selenium WebDriver is a browser automation tool which provides a lightweight and elegant way for testing web apps. Selenium WebDriver is now available as an SDK extra in the Android SDK, and supports 2.3 (Gingerbread) and onwards! Whether or not your site is optimized for mobile browsers, you can be sure that users will
以前から気になっていた Selenium WebDriver を使ってWebアプリの自動テストを試してみたので忘れないうちにメモ。 WebDriverに惹かれたのは以下の理由 ブラウザの操作がJavaで簡単に書ける(学習コストが低い) 記述するコードが簡潔で分かりやすい(コードのメンテナンスがしやすい) JUnitからも実行できる(Jenkinsから実行して自動化したり) ブラウザのスクリーンショットが撮れる(エビデンス作成) 導入準備 ここから Selenium Client Drivers(Java) をダウンロードしてjarにクラスパスを通すだけ。 Mavenを利用する場合、pom.xmlに selenium-java を追加するだけでOKです。 ブラウザ操作の機能のみを利用するだけなら selenium-htmlunit-driver は不要なのでexclusionを指定しておくと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く