Pro Yearly is on sale from $80 to $50! »

退屈なブラウザ作業をpuppeteerにやらせたいお話

 退屈なブラウザ作業をpuppeteerにやらせたいお話

SRE-SET Automation Night #2
https://mercari.connpass.com/event/79046/

C52152c492cb4cceebb2caff43383a3f?s=128

Tadashi Nemoto

March 06, 2018
Tweet

Transcript

  1. 退屈なブラウザ作業を puppeteerにやらせたいお話 SRE-SET Automation Night #2 Tadashi Nemoto

  2. 自己紹介 • 根本 征 (github: tadashi0713) • Since 2016 as

    new graduate • QA-SET(Software Engineer in Test) team at Mercari • Automation Engineer • Web・Mobile テスト自動化(UI・End to End) • Continuous Integration (Jenkins, CircleCI, Bitrise) • 社内業務自動化・効率化 • ノンプログラマー向けに自動化の勉強会開催
  3. None
  4. None
  5. 自己紹介 • 社内の面倒な手作業はZapierにやらせようーーノンプログラ マーでも業務自動化ができるツールを導入してみて • 退屈なブラウザ作業はSeleniumにやらせようーーはじめてで もできるブラウザ操作自動化

  6. 意外と多い、ブラウザを使った繰り返し作業 • CSVなどのファイルをWebサイトからダウンロード • Webサービスのアカウントを発行 • Webサイトをスクリーンショット・チームに共有 • 同じ内容のフォームを定期的に入力する •

    Google Spreadsheet • APIが提供されていないものも多い • 特にコーポレート部門(総務、人事など)に多くなりがち
  7. Selenium Webdriverを使って自動化 • ruby + Selenium Webdriver + Chrome •

    実行環境にCircleCIを使用 • circleci/ruby-node-browsersを使えばブラウザ・仮想ディ スプレイなどが既に入っている • REST API (Slack commandなどと連携) • cron (CircleCI 2.0のworkflow) • 10個以上の自動化が動いている
  8. 別にSelenium Webdriverじゃなくていい • 複数ブラウザでやらなくていい • Firefox Selenium IDEのような便利なツールが見当たらない • ≠

    Chrome Selenium IDE • ノンプログラマーにはこういうのがあるといい • 環境構築がめんどくさい • スクリプト作るのも結構めんどくさい • セレクターを見つけて、スクリプト書いて見て、デバッグ
  9. 理想! • Chromeで実行できる • Selenium IDEみたいに簡単にスクリプトが作れるツール • スクリプトが拡張しやすい(Slack、Google、他API) • サーバーレスに実行できる

    • AWS Lambda • API Gateway, CloudWatch(cron)連携できると便利
  10. GoogleChrome/puppeteer Node.jsからChromeを簡単に扱える

  11. Browserless Debugger https://chrome.browserless.io

  12. Download Code

  13. 理想! • Chromeで実行できる • Selenium IDEみたいに簡単にスクリプトが作れるツール • スクリプトが拡張しやすい(Slack、Google、他API) • サーバーレスに実行できる

    • AWS Lambda • API Gateway, CloudWatch(cron)連携できると便利 試行錯誤中
  14. ご静聴ありがとうございました ※用法・用量を守って正しくお使いください