Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 • 根本 征 (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) • 社内業務自動化・効率化 • ノンプログラマー向けに自動化の勉強会開催

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

自己紹介 • 社内の面倒な手作業はZapierにやらせようーーノンプログラ マーでも業務自動化ができるツールを導入してみて • 退屈なブラウザ作業はSeleniumにやらせようーーはじめてで もできるブラウザ操作自動化

Slide 6

Slide 6 text

意外と多い、ブラウザを使った繰り返し作業 • CSVなどのファイルをWebサイトからダウンロード • Webサービスのアカウントを発行 • Webサイトをスクリーンショット・チームに共有 • 同じ内容のフォームを定期的に入力する • Google Spreadsheet • APIが提供されていないものも多い • 特にコーポレート部門(総務、人事など)に多くなりがち

Slide 7

Slide 7 text

Selenium Webdriverを使って自動化 • ruby + Selenium Webdriver + Chrome • 実行環境にCircleCIを使用 • circleci/ruby-node-browsersを使えばブラウザ・仮想ディ スプレイなどが既に入っている • REST API (Slack commandなどと連携) • cron (CircleCI 2.0のworkflow) • 10個以上の自動化が動いている

Slide 8

Slide 8 text

別にSelenium Webdriverじゃなくていい • 複数ブラウザでやらなくていい • Firefox Selenium IDEのような便利なツールが見当たらない • ≠ Chrome Selenium IDE • ノンプログラマーにはこういうのがあるといい • 環境構築がめんどくさい • スクリプト作るのも結構めんどくさい • セレクターを見つけて、スクリプト書いて見て、デバッグ

Slide 9

Slide 9 text

理想! • Chromeで実行できる • Selenium IDEみたいに簡単にスクリプトが作れるツール • スクリプトが拡張しやすい(Slack、Google、他API) • サーバーレスに実行できる • AWS Lambda • API Gateway, CloudWatch(cron)連携できると便利

Slide 10

Slide 10 text

GoogleChrome/puppeteer Node.jsからChromeを簡単に扱える

Slide 11

Slide 11 text

Browserless Debugger https://chrome.browserless.io

Slide 12

Slide 12 text

Download Code

Slide 13

Slide 13 text

理想! • Chromeで実行できる • Selenium IDEみたいに簡単にスクリプトが作れるツール • スクリプトが拡張しやすい(Slack、Google、他API) • サーバーレスに実行できる • AWS Lambda • API Gateway, CloudWatch(cron)連携できると便利 試行錯誤中

Slide 14

Slide 14 text

ご静聴ありがとうございました ※用法・用量を守って正しくお使いください