レガシーに半身浴しているような、ふだんなかなか触らないけれど現役のレポジトリに潜んでいた亡霊を退治!!! Poltergeist + PhantomJS を消し去り、 Selenium + Headless Chromium に置き換えた。 このレポジトリは Rails による API バックエンドと SPA フロントエンド両方を管理しているもので、以下の2箇所で PhantomJS に依存していた。 Capybara による feature spec。PhantomJS の driver として poltergeist を使用。 Teaspoon による frontend の JavaScript test。Teaspoon は JS のテストランナーでもあり PhantomJS driver も内包している 。 両方について書いたら思いの外長くなってしまったのでこの記事では 1. の方
I’ve been a happy user of Capybara-WebKit for many years now, but its dependence on Qt can make it frustrating to install on macOS, particularly following macOS or Xcode updates. One such recent issue lead me to experiment with running my tests in Chrome via ChromeDriver and Selenium. I found the installation of ChromeDriver and Capybara-Selenium to be significantly faster than the installation of
テストコードを書くのは面倒です。特にWebブラウザの表示を再現するような類のものは面倒に感じるでしょう。面倒だとどうしても記述が疎かになったり、テストが不十分になったりします。 そこで使ってみたいのがnezumiです。Google Chromeの入力内容からCapybara/RSpec対応のテストコードを生成します。 nezumiの使い方 Google ChromeのDevToolsにnezumiというタブが追加されます。そこを表示したままフォームに入力を行うとCapybara対応のコードが作れます。 入力する度にコードが追加されていきます。フォームに入力したら、後はCOPYボタンを押すだけです。 nezumiを使うことで実際に動いているフォームに対して本物に近い入力を試せるようになります。作られたコードをコピペするだけなので、後はちょっと入力を変えてテストすると言ったこともできるでしょう
[2017-06-22 追記] chromeバージョン59の正式リリースに伴い、記事の内容を全面刷新しました。 [2017-07-27 追記] selenium使用時にsend_keysが使用できない問題を記載しておりましたが、Chromedriver2.31のリリースに伴い問題が解消しました! はじめに注意 chromeはバージョン59より正式にヘッドレスモードを搭載しました。 それを試そうと「chrome headless」などで検索すると、古いバージョンのchromeをXvfbなどの仮想ディスプレイを通してLinux上で動かす記事が沢山でてきますが、これらはheadless chromeに関しての記事ではなく、普通のGUI chromeをどうにかしてcui上で動かそうという取り組みの記事です。 chromeのヘッドレスモードでは、PhantomJSと同じようにXvfbはありません。g
環境 Amazon Lightsail で1ヶ月無料借りたお試しインスタンス。 OSバージョンは以下のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty # 公開鍵を追加 $ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - # リポジトリ追加 $ sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/
Resources FE @mikegreiling Chrome 59 can now be run with --headless on all platforms. https://www.chromestatus.com/features/5678767817097216 We should look into replacing PhantomJS with headless Chrome in our GitLab tests for more accurate and less error-prone integration testing. This needs to be done in two places: Update docker images to include headless Chrome pre-installed (gitlab-build-image
≡ Google Chrome version 59 will ship with the headless option. This means you can test your web applications using chrome without needing xvfb. One problem: the latest chromedriver (version 2.29) doesn't support versions of Chrome higher than 58. The solution is to build the latest chromedriver that supports the latest chrome/chromium. Google does not make nightly builds of chromedriver public, yo
はじめに 先日、RSpec 3.7がリリースされました。 参考: RSpec 3.7 has been released! 上記ブログの中で「今回のリリースはRailsのSystem Testの統合機能をいち早く使ってもらうためのリリースだ」と書いてあります。 実際、ブログの中で触れられている新機能は「System Spec」機能の追加だけです。 というわけで、この記事はrspec-rails 3.7で導入されたSystem Specの紹介と使い方の説明をしていきます。 実行環境 この記事は以下のバージョンを対象にして書かれています。 rspec-rails 3.7.1 Rails 5.1.4 Ruby 2.4.2 selenium-webdriver 3.6.0 Capybara 2.15.4 Chrome 62 ChromeDriver 2.33 サンプルコード この記事で使用したコー
Speee エンジニア組織推進室の服部 (yhatt) です。 みなさん E2E テストされていますでしょうか。弊社の Ruby on Rails プロダクトにおいては、RSpec、Capybara、 Poltergeist を組み合わせ、 feature spec で E2E テストを行う構成が一般的でした。 そんな中、Chrome 59 に ヘッドレスモード (--headless) が搭載 されたことで、テストや CI 環境において、最新の Chrome 環境による E2E テストを実施できるようになりました。それに合わせて、PhantomJS のコアメンテナーがメンテナーを降りる ことを発表し、PhantomJS のアップデートや、継続的サポートは期待できない状況となっています。 ヘッドレス Chrome ことはじめ | Web | Google Developers [A
はじめに 2017年4月13日に、Headlessモード付きのChromeがまもなく登場するというアナウンスがありました。 下記ドキュメントによるとバージョン59からHeadlessモードが導入されるとのことです。 参考: Headless mode - Chrome Platform Status Headless(ヘッドレス)モードとは、GUIを起動しない(つまり目に見える形でブラウザを起動しない)モードのことです。 これによりブラウザを自動実行させる際の速度が向上したり、GUIを持たないサーバー上でブラウザを実行できたりするようになります。 また、Rails 5.1では新しくSystemTestCaseというテストケースが導入されました。 SystemTestCaseはエンドツーエンド(E2E)テスト、すなわちブラウザ上の動きを検証するためのテストケースです。 これを使えばJavaS
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く