退屈なブラウザ作業を
puppeteerにやらせたいお話
SRE-SET Automation Night #2
Tadashi Nemoto
自己紹介
• 根本 征 (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)
• 社内業務自動化・効率化
• ノンプログラマー向けに自動化の勉強会開催
自己紹介
• 社内の面倒な手作業はZapierにやらせようーーノンプログラ
マーでも業務自動化ができるツールを導入してみて
• 退屈なブラウザ作業はSeleniumにやらせようーーはじめてで
もできるブラウザ操作自動化
意外と多い、ブラウザを使った繰り返し作業
• CSVなどのファイルをWebサイトからダウンロード
• Webサービスのアカウントを発行
• Webサイトをスクリーンショット・チームに共有
• 同じ内容のフォームを定期的に入力する
• Google Spreadsheet
• APIが提供されていないものも多い
• 特にコーポレート部門(総務、人事など)に多くなりがち
Selenium Webdriverを使って自動化
• ruby + Selenium Webdriver + Chrome
• 実行環境にCircleCIを使用
• circleci/ruby-node-browsersを使えばブラウザ・仮想ディ
スプレイなどが既に入っている
• REST API (Slack commandなどと連携)
• cron (CircleCI 2.0のworkflow)
• 10個以上の自動化が動いている
別にSelenium Webdriverじゃなくていい
• 複数ブラウザでやらなくていい
• Firefox Selenium IDEのような便利なツールが見当たらない
• ≠ Chrome Selenium IDE
• ノンプログラマーにはこういうのがあるといい
• 環境構築がめんどくさい
• スクリプト作るのも結構めんどくさい
• セレクターを見つけて、スクリプト書いて見て、デバッグ
理想!
• Chromeで実行できる
• Selenium IDEみたいに簡単にスクリプトが作れるツール
• スクリプトが拡張しやすい(Slack、Google、他API)
• サーバーレスに実行できる
• AWS Lambda
• API Gateway, CloudWatch(cron)連携できると便利
GoogleChrome/puppeteer
Node.jsからChromeを簡単に扱える
Browserless Debugger
https://chrome.browserless.io
Download Code
理想!
• Chromeで実行できる
• Selenium IDEみたいに簡単にスクリプトが作れるツール
• スクリプトが拡張しやすい(Slack、Google、他API)
• サーバーレスに実行できる
• AWS Lambda
• API Gateway, CloudWatch(cron)連携できると便利
試行錯誤中
ご静聴ありがとうございました
※用法・用量を守って正しくお使いください

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