https://d-cube.connpass.com/event/149831/ スライド中「エンジニアの斎藤」という謎の人物が出てきますが、「エンジニアの採用」の誤記でございました。お詫び申し上げます。
はじめに 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.
Web技術の標準を策定するWorld Wide Web Consortium(W3C)のBrowser Testing and Toolsワーキンググループは、「WebDriver」が6月5日付けで勧告に到達したことを発表しました。 WebDriverは、Webブラウザを外部から操作することを可能にし、Webアプリケーションのテストなどの自動化を実現する技術です。 主要なWebブラウザにはすでにこのWebDriverの機能が用意されています。Seleniumに代表されるWebブラウザ自動化ライブラリを利用することで、WebDriverを用いてWebアプリケーションのUIテストなどを自動化することが可能です。 SeleniumからW3Cへ もともとWebブラウザには外部から操作を行うAPIなどはなく、WebページやWebアプリケーションをWebブラウザで表示した際に画面が正常に表示されている
Seleniumの記録・再生ツールといえばSelenium IDEやSelenium Builderが有名ですが、これらのツールはFirefox55以降動作しなくなっていました※1。そこでSeleniumプロジェクトチームによって新バージョンの開発が進められ、先日ついに、Chromeで動作する新しいSelenium IDEのバージョン1.0がリリースされました。 今日は、この新しいSelenium IDEをはじめとする、無料で使える様々なSeleniumスクリプトの記録ツールについてご紹介します。 なおこの記事では、プログラマー向けに、「プログラミング言語によるスクリプト作成の補助ツール」という観点から各種ツールを比較します。プログラミング言語でスクリプトを書く場合も、スクリプト記録ツールは下記のような用途に活用でき、非常に便利です。 ブラウザ上の要素のロケータ※2 を簡単に取得する テス
簡単に、ハマった箇所をまとめていく。 ■ リンクを新規タブで開きたい(target_blankではない)
まえがき E2Eテストを自動化したいこと、あると思います。 特にアジャイル開発を行なっていく際には、予期せぬregressionを防ぐためにも必須のツールでしょう。 毎回ポチポチポチポチ画面テストするのは工数的にもモチベーション的にも最低です。 そう考え、私はSeleniumによる自動テストを1ヶ月かけて設計・実装しました。 そして最初は「ぬるぬる自動操作されてて感動した😆」「これで工数めっちゃ削減されるな👍」 そんな声をチームメイトからもらえ、「いいもん作ったな〜俺」とか内心ドヤ顔でした。 ただ数ヶ月もしない内にテストは役立たずになってしまいました。 この記事はなぜ自動テストが無価値になってしまったのかを書きます。 割とSeleniumあるあるな話でもあるので、これからSelenium使おうという方の参考になれば幸いです。 ※ちなみに私はJS(+ WebdriverIOというライブラ
no such element: Unable to locate elementとかElement is not clickable at pointとかを回避するためのwait ruby + selenium webdriverを使っていれば誰もが見たことあるこれらのエラー。 動作が速すぎて要素が現れる前に処理が実行されてしまいこのエラーが出ちゃうことが多いですよね。 秒数を指定して動作を待つsleep このように書けば10秒待ってから次の処理を行うというコマンドです。 でも本当に10秒待てば次の要素は必ず現れるのでしょうか? ネットワークや実行する環境によっては1秒で現れてくれるかもしれないし、12秒待っても現れてくれないかもしれません。 前者の場合は1秒で現れてくれるのだから9秒無駄になってしまい、sleepを書く度にその無駄な時間が積み重なっていきます。 後者の場合はもちろんエラ
こんにちは! この期におよんでまだSelenium IDEの技術記事を書くクソバカは誰だ!!! 俺だよ!!!! 思ったより早く死にましたテヘッ WebExtensionsへの完全移行はFirefox 57からだとMozilla公式ブログに書いてあったので、もうちょっといけると思っていたのですが... Add-ons in 2017 | Mozilla Add-ons Blog 先日リリースされましたFirefox 55でSelenium IDEを起動してみたところ、 ウッ 動け、動け、動いてよ!! 「Table view is not available with this format.」ってなんなんだよ!!!! 単なるデグレっぽい 同じエラーメッセージは2013年から折々報告されているもので、GitHubにも2015年頃からのissueがあります。 なので、WebExtensionsへ
2017/7/1に行われた、Selenium Committer Day 2017 – connpassに行ってきました。 今回はSeleniumコミッターの方々の講演もあるということで、先着200名のキャパに対して250名くらい応募があって、結局仕事の都合とか街が多すぎとかでキャンセルが出て、イベントページ上は191名の参加でした。 以下、ゲストスピーカーさんの各セッションとQ&Aの内容についてメモ書き&雑感です。 なお、見出しはイベントページからのコピペです。敬称略、実際の講演時刻と異なる場合がありますのでご了承ください。 ※意図的にミスリードしてる箇所はありませんので、誤りがあったら指摘いただけると本当に嬉しいです。 Nozomi Ito 開会の挨拶 13:00-13:10 今日でたまたまコミュニティ4周年。 Slackのチャットルームは人が増えていて、質問や回答が活発に行われている
ブラウザ操作の自動化: Selenium と Ruby でも書いたが、 selenium が便利すぎて、最近よくスクリプトを書くようになった。 以下のようなノウハウが溜まってきたので、ここらで放出する。 ウィンドウサイズのリサイズ ウィンドウ位置の移動 スクリーンショットの取得 要素セレクタメソッドの使い分け ドロップダウンリストの選択 マウスオーバ (hover) フレーム移動 ポップアップダイアログの扱い コード量を減らすためのモンキーパッチ よく採るプログラム構造 インストール方法などは ブラウザ操作の自動化: Selenium と Ruby を参照。 selenium用スクリプト開発のノウハウというべきかコツといういべきかアレな感じだが、結局、 スクレイピングと同様にHTML構造を理解することが必要なのでブラウザ付属の開発ツールが 手離せない。 Firefox 開発ツール chro
chrome だけを使って、HTMLをPDFに変換します。 chrome で pdf にサイトを保存することが可能です。Seleniumのscreenshot を作らなくても、単一なページであれば、PDFにすることが可能です --print-to-pdfオプション $ alias chrome='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' $ chrome --print-to-pdf='/Users/takuya/Desktop/a.pdf' https://www.yahoo.co.jp --headless オプションと併せて設定するととても便利です。 $ chrome --headless --print-to-pdf='/Users/takuya/Desktop/a.pdf' https://www.
システム本部SWETグループのグループリーダの沖田( @okitan )です。SWET(スウェットと読む)はE2Eテストの自動化やCI/CDの整備等を通じてDeNAの事業の開発生産性と品質の向上をミッションとするチームです。 SWETチームはその前身となるMobageのオープンプラットフォームのテスト自動化とCIをミッションとしていた時代からSeleniumによるEnd to Endテストに取り組んできていました。今回、そのSeleniumの国際カンファレンスであるSelenium Conf 2017 Austinに参加してきたので、Seleniumを取り巻く最新の動向を紹介したいと思います。 Selenium Conf Austin 2017 Selenium Conf 2017 Austinは4月3日〜4月5日までの3日間開催され、約500人の参加者があったようです。初日はワークショッ
もともと Selenium 2.0 で導入された WebDriver ですが、単に 「WebDriver」 と言ってもいろいろなものを指すことがあり *1、WebDriver を初めて使おうとする人にはややこしい状況だと感じています。 (私は数か月前に WebDriver を使おうとして混乱しました。) というわけなので、私が調べた 「WebDriver とは何か」 を簡単にまとめておきます。 WebDriver とは何か WebDriver とは、ユーザーエージェント (web ブラウザ) を外部のソフトウェアから操作したり情報を取得したりできるようにするためのものです。 テストの自動実行などに便利ですね。 W3C WebDriver と Selenium WebDriver 冒頭で述べた通り、Selenium 2.0 の目玉機能として導入された WebDriver なのですが、現在は
Seleniumを使ったWeb UIの自動テストシステムを作ったので、やったこと・感想などをまとめてみます。 テスト対象 テスト対象は、AJAXなWebアプリです。 サーバーはREST APIを提供するのみで、UIは全てJavaScriptという構成。 サポートブラウザはIE7以降,Firefox3.6以降。(特定の組織内で使うものなので、Operaなどは未サポートです。) 使用したSelenium 2.x 系列を使いました。 WebDriverと統合されたあとのやつです。 言語はJavaを使用。 テストの目的 以下を目的としました。 機能追加/不具合改修でのデグレード防止 機能追加や不具合改修に伴う動作不正を検出し、デグレードを未然に防止する。 動作確認コストの削減による開発効率の向上 ブラウザごとの動作確認を自動テストを利用して行うことで、機能実装時の確認工数を減らす。 リリース前のリ
Selenium2 WebDriverを使ってRSpec形式で受け入れテストを自動化する方法を模索中です。 これまで調べたこと 環境構築編:Windows7+Selenium2 WebDriver+Rspecでブラウザテストを自動化 TIPS編:Ruby+Selenium2 WebDriverでクロスブラウザチェックする 基本的な検証方法 今回はテストケース内で値をどう検証するかを調べてみました。JUnitとかだとassertTrueみたいなメソッドが用意されていますが、画面の場合は HTML内の値を見つけだし その値を検証する というステップを踏む必要があります。値を見つけ出すところは https://gist.github.com/daipresents/b211d3a3cf47908e87f0766f846bd73d.js?file=gistfile1.txt のようにすれば見つかり
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く