はじめに Python + Selenium + Chrome で、要素の取得、クリックなどの UI系の操作、待機、ページ全体のスクリーンショットなど、一通り試してみます。 PhantomJS はもう更新されないということなので、ブラウザは Chrome にします。 この記事には、Selenium の API に関する情報と Chrome に特化した情報がありますが、前者の Selenium の使い方に関する情報は Firefox など別のブラウザでも使えます。 注意事項 ウェブの自動テストやスクレイピングで使われる技術です。特にスクレイピングでは、著作権の問題や、サーバー側の負荷、各種規約(会員としてログインする場合の会員規約等)やマナーなどを考慮する必要があります。 たとえば、Twitter など利用規約で明示的にスクレイピングが禁止されていることや、robot.txt などでクローリ
スクレイピングした Web サイトからページ全体のスクリーンショットを撮影したい機会があった。 そこで Selenium の Python バインディングと Headless Chrome を使ったところ実現できたのでメモしておく。 ちなみに、ページ全体でなければ Headless Chrome 単体でも撮れる。 その方法についても末尾に補足として記載しておいた。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.13.5 BuildVersion: 17F77 $ python -V Python 3.6.5 $ pip list --format=columns | grep -i selenium selenium 3.13.0 $ chromedriver --version ChromeDriver 2.
Jenkinsで複数のビルドを連続して起動するさい、Pipelineで制御するために環境を構築してみました。 ちなみに私のレベルはというと…… Jenkinsをマスタ(本体)とスレーブ(仮想環境)でノード接続してスレーブに仕事させたり、そのスレーブ側でSelenium実行させて(例えばサイトのキャプチャを取る)結果を取得して本体に返して、その制御をPythonで書いたりできる程度です。 お品書き Jenkinsとは Seleniumとは 今回やろうとしたこと Jenkinsでノードを設定だ Pipelineで使うGroovyって何? Pipelineの詰まりどころ Jenkinsとは ミドルウェアで、自動実行したりしてくれる便利もの。繰り返しに強いです。 ShellScriptのcronみたいに定時実行ができるので、 「毎日決まった時間に自動で静的解析や単体テスト」 「毎日決まった時間に自
Webアプリケーションのフロントエンドを作る上で話題になりがちなSPA(Single Page Application)ですが、SPAのE2E(End-to-End)テストについて話題になることはあまりないと思います。筆者は、仕事でSPAのSeleniumテストを書いたことがあり、Seleniumで通常のWebアプリとあまり変わらずテストできる一方、気をつけるべき特徴もあると感じました。第6回の今回は、筆者の経験を元に、実際の業務でSPAのSeleniumテストを書く上での知見を紹介します。 illustration by iwasawa SPAの特徴 SPAとは、WebアプリケーションやWebサイトを単一のページのみで構成し、ユーザーが操作したときにブラウザの画面遷移なしで現在のページを動的に書き換えるものです。ユーザーは画面遷移によってUXが途切れることがないので、よりネイティブなアプ
Seleniumの記録・再生ツールといえばSelenium IDEやSelenium Builderが有名ですが、これらのツールはFirefox55以降動作しなくなっていました※1。そこでSeleniumプロジェクトチームによって新バージョンの開発が進められ、先日ついに、Chromeで動作する新しいSelenium IDEのバージョン1.0がリリースされました。 今日は、この新しいSelenium IDEをはじめとする、無料で使える様々なSeleniumスクリプトの記録ツールについてご紹介します。 なおこの記事では、プログラマー向けに、「プログラミング言語によるスクリプト作成の補助ツール」という観点から各種ツールを比較します。プログラミング言語でスクリプトを書く場合も、スクリプト記録ツールは下記のような用途に活用でき、非常に便利です。 ブラウザ上の要素のロケータ※2 を簡単に取得する テス
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Selenium IDEが最新のFirefoxで動かなくなり、多くの代替ソフトウェアが登場し始めています。単純に操作を再現するものはあるのですが、テストコードを出力するものはまだ多くありません。 そこで使ってみたいのがSeleniumCodeBuilderです。操作した内容をRubyまたはPython用のテストコードとして出力できます。 SeleniumCodeBuilderの使い方 操作した記録です。一つ一つ区切られた形で出力されます。 プラットフォームを指定してテストコードを出力できます。 クリックやイベントの追加もできます。 ヘルプです。 SeleniumCodeBuilderでは複数のテストケースを管理できません。一旦保存しておいて、ファイルを開いて呼び出す形になります。し
RubyからSeleniumを操作する際に使うコードのチートシートです。 Seleniumを使うことでブラウザを操作した表示テストを行ったり、ブラウザをつかった操作の自動化ができます。 🎃 ブラウザを開く
オールアバウトのsankameです。 突然ですが、Webブラウザのテストってやりずらいですよね… ブラウザ毎に挙動が違ったり、結局、担当者頼みになって、その人が代わったらまた障害が起きて…と。 エンジニアならこういう問題はさっさと自動化してスマートに解決したいものです。 ※このアプリのソースコードはページ末尾のリンクからご利用下さい。 …とは言え、「なる早でリリースを」という場面ではテストは後回しにされがちで、さらに第2フェーズが始まると尚更テストに時間を割くのが難しくなります。(※1) オールアバウトではユニットテストがまだ全アプリに入っていない状況ですが、とにかくハードルを下げつつ半年ほど前からE2Eテスト(※2)を実施しています。(※3) (※1) オールアバウトには専任のQAチーム (Quality Assurance)がないため、開発エンジニアがそれを担当しています。 (※2
何年も前、SeleniumやWebDriverの話で盛り上がった記憶があります。ただ、その当時はまだRailsなどバックエンド中心の文脈でした。今、フロントエンドに軸足が移る中、ブラウザテストの状況はどうなったのでしょう? 不思議なことに、フロントエンド界隈でそれほど話題に上がって来ないですよね (私の周りだけ?)。結構大事なのに。実は皆さん、「Seleniumアレルギー」なんじゃないですか? 公式サイトに漂う ゼロ年代感(下図)。Javaへの躊躇、「めんどくさい」と聞かされ続けた過去、無意識に避けてしまうのがSeleniumです。 ただ、フロントエンドの文脈でこそ、ブラウザテストは重要度を増しています。そこで「Selenium触りたくない病」の筆者が、 四苦八苦した背景 と、2016年だからこそ 見えてきた落とし所 を書いてみたいと思います。 註: 思ったより長文になってしまいました。先
2016年2月6日、東京ミッドタウンのヤフー株式会社にて、日本Seleniumユーザーコミュニティ主催による「第3回日本Seleniumユーザーコミュニティ勉強会」が開催されました。今回は、2015年9月発行の『Seleniumデザインパターン&ベストプラクティス』で監訳を務められた玉川紘子氏・太田健一郎氏、2016年2月に発売された『Selenium実践入門』の著者である伊藤望氏・戸田広氏・宮田淳平氏を筆頭に、Seleniumを使って最先端で活躍しているエンジニア9名が登壇し、熱い思いや事例を参加者と共有しました。 ごあいさつ(伊藤望氏) 日本Seleniumユーザーコミュニティの主宰者である伊藤望氏による開会のあいさつがありました。勉強会をはじめとするコミュニティの活動が活発であり、人数も拡大しているというお話に続き、勉強会申込者アンケートの結果が発表されました。 伊藤望氏 アンケート
リンク connpass 第3回 日本Seleniumユーザーコミュニティ勉強会 (2016/02/06 13:30〜) # 第3回 日本Seleniumユーザーコミュニティ勉強会 2015年9月発売の「Seleniumデザインパターン & ベストプラクティス」、2016年2月発売の「Selenium実践入門」の著者を中心として、過去最多のセッション数で第3回 日本Seleniumユーザーコミュニティ勉強会を開催します。 ご興味がございましたらぜひご参加ください! ※参加お申し込みの際に、かんたんなアンケートをお願いしております。アンケート結果は集計して、当日発表いたします。 # 当日のご注意事項 * ※会場運営の都合上、途
http://seleniumjp.connpass.com/event/24206/ 第3回日本Seleniumユーザーコミュニティ勉強会の資料です。 Seleniumのアンチパターンについてです。Read less
どうも。エンジニアの@bumcruです。 Qiitaの「Selenium/Appium」アドベントカレンダー9日目の記事です。 去る10月に行われた開発合宿、今年のテーマは「自動化」でした。 テーマの範囲内で、個々人が自由に好きなものを作るわけですが、 僕が選んだお題は「Seleniumでのブラウザテスト自動化」です。 今回は、Selenium WebDriver *1 の知識がほとんど無い状態から、 2泊3日で弊社の外資就活ドットコムの会員登録フローを自動化するまでの顛末と、 ハマりやすいポイント、その解決法をご紹介します。 基本的には「せれにうむ?」な人に向けた記事なので、すでにSeleniumを十分使いこなせている人は、 「あるあるw」とか「そこはこうした方がいいよ」などのコメントを頂けると幸いですm(_ _)m Webサービスこそ E2Eテストを自動化すべき パッケージ開発や受託開
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました ソフトウェアのテストは幾つかの種類がありますが、実際にデモでソフトウェアを操作して行うテストとして有名なのがSeleniumです。当初はWebアプリケーション向けの仕組みでしたが、Appiumによってスマートフォンアプリのテストも行えるようになっています。 さらに今回紹介するのはWiniumです。名前からも分かる通り、Windowsアプリの自動操作テストに使えるSelenium系ソフトウェアです。 Winiumの使い方 Winiumの使い方は次のようになります。こちらはRubyで書いた場合のコードです。 require 'selenium-webdriver' capabilities = {app: 'c:\windows\system32\notepad.exe'} drive
Selenium勉強会@サイボウズに行ってきました #selenium_cybozu の記事で Selenideの話 Selenide == Javaで書かれたSeleniumクライアントラッパー というのを見つけてGroovy製のGebと比較したいなと思い、使ってみました。 Selenideについて 公式はここ。http://selenide.org/ Selenide is a wrapper for Selenium WebDriver that brings the following advantages: Concise API for tests Ajax support True Page Objects jQuery-style selectors You don't need to think how to shutdown browser, handle timeou
こんにちは!生産性向上チームの宮田(@miyajan)です。 10/20(火)にサイボウズ株式会社の東京オフィスでSelenium勉強会を開催させていただきましたので、その様子についてご報告いたします。 背景 これまでサイボウズでは、会社のスペースや設備面などの都合により社外の人を含む勉強会を開くハードルが高いという問題がありました。しかし、日本橋の新オフィスへの移転により環境が劇的に改善され、もっと社外の人を招いて技術PRしていこうという機運が高まってまいりました。 そんなときに、私がUSのポートランドで開催されたSelenium Conference 2015に参加する機会がありました。ちょうどいいネタになりそうだったので、これを機に社外の人を集めてSelenium勉強会を開催してみることにしました。 発表内容 私以外にも、3名の社外の方が発表者として手を挙げてくれました。せっかくなの
導入 Seleniumに触れる機会はなんだかんだで徐々に増えてきている気がする。少なくとも3年前よりはよほどいろんなところで聞くようになったし、使われるようにもなっているはず。で、なんとなくこのブログを検索してみたら、思った以上に何も書いていなくてびっくりしたからなんか書いてみる。 Seleniumさんを使うにあたっては、SeleniumIDEを使うのとコード書くのがあるけれど、基本的にはコードを書いていきたい。理由はいくつかあるけれど、一番は Record&Playback があまりよろしくないと思っているから。生成されるコードはどこまでいってもリニアスクリプトになるし、保守性も柔軟性も欠けると思う。もちろん「とりあえず動くもの」を作るには便利だけれど、それまでじゃないかなと。まぁ、コードを書くより趣味に合うアプローチが出て来れば喜んで乗り換える所存。 ともかく、Seleniumを使用す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く