狠狠撸
Submit Search
厂别濒别苍颈耻尘奥别产顿谤颈惫别谤を使ってつまらない作业を駆逐してやる!!
?
2 likes
?
6,629 views
Masato Noguchi
厂别濒别苍颈耻尘奥别产顿谤颈惫别谤を使って、スクリーンショットを撮る作业を自动化するプレゼンです。
Read less
Read more
1 of 16
Download now
Download to read offline
More Related Content
厂别濒别苍颈耻尘奥别产顿谤颈惫别谤を使ってつまらない作业を駆逐してやる!!
1.
Selenium Web Driverを 使ってつまらない作業を 駆逐してやる!! @joe_re
2.
ある日のできごと
3.
ぼく「一通り作業終わりましたー。」 PM「お疲れ!じゃあテストしなきゃなー。」 ぼく「テスト?ユニットテストなら書いてますが、 受け入れテストまでこちらでやるということですか?」 PM「いや、受け入れテストは別部隊でやるよ。 ただ今回は政治的な都合上、 全パターンテストをやっているっていう エビデンスが欲しいんだよね。」 ぼく「エビデンス?(嫌な予感。。)」 ※ 多少脚色してますが概ね実際の出来事です。
4.
PM「全パターンの スクショ撮りをしよう。」 ぼく「ファッ!?」
5.
What is スクショ撮り スクリーンショットを撮る作業のことです。 一切の知的労働性を排除された超絶力仕事なので、 エンジニアの体調を著しく損なってしまうことがあります。 スクショ撮り(英:
take a Scsho!) とは 完成したシステムの画面上の表示のエビデンスを残すために行われる、画面のスクリーンショットを撮る 作業のこと。 理不尽な政治的事情によるエビデンスで要求されることが多い。 その性質上、作業によって得られる成果物も確実性があるとは言えず、達成感も得られない。 エンジニアからは嫌われる傾向にある。 一切の知的な喜びを得られないこの作業は、エンジニアを疲弊させ、鬱病、適応障害など様々な心の病を 引き起こしてしまう。 出典 wikipedia(ウソ)
6.
駆逐してやる。 この世から1匹残らず!! (ていうか仕様変わったらどうするの?1から撮り直すの? 勘弁してぇぇぇぇぇぇぇぇぇぇぇぇ!!!)
7.
そこで救世主、 Selenium Web Driver!!
8.
What is Selenium
Web Driver Webブラウザのテストを自動化するための? テストフレームワークです。 WebブラウザのAPIを利用して、? クリックやスクロール?文字入力などを始めとして、 あらかじめ定義されたテストを自動的に実行します。 Java、Ruby、Python、Nodejsなど、? 様々な言語で記述することができます。
9.
これを使って、 スクショ撮りを自動化します。
10.
デモ アプリケーションの機能 ? サインアップ、ログイン、ログアウトできる ? 自分の自己紹介を登録し、閲覧できる https://github.com/joe-re/selenium-snapshot-sample
11.
自動化したい要件 1. 4人のテストユーザでログインする。 2. ログイン後にプロフィールページを表示する。 3.
表示される画面のスクリーンショットを撮る。 4. 撮ったスクリーンショットのファイル名は、? ユーザ名.pngにする。
12.
解説 require ‘selenium-web-driver’ driver =
Selenium::WebDriver.for :firefox FileUtils.mkdir_p 'screenshots' [ { email: 'yui_hirasawa@test.co.jp', password: ‘yuihirasawa’ }, # ..中略.. # ].each do |user| # ログイン driver.navigate.to 'http://localhost:3000' driver.find_element(:id, 'user_email').send_keys(user[:email]) driver.find_element(:id, 'user_password').send_keys(user[:password]) driver.find_element(:name, 'commit').submit sleep(1) # デモで見やすいように1秒待機 # profileを表示する driver.navigate.to 'http://localhost:3000/profile' sleep(1) # デモで見やすいように1秒待機 # screenshotを撮る username = driver.find_element(:id, 'username').text driver.save_screenshot("screenshots/#{username}.png") # ログアウト driver.find_element(:id, 'logout').click end driver.quit # 終了
13.
1人忘れてた!!
14.
なんてクソなプロダクトだ! 画像は一番上にしてくれ! 仕様変更
15.
でも、大丈夫! そうSelenium Web Driver ならね!!
16.
Enjoy the life
of engineers! Thanks!
Download