LoginSignup
9
5

More than 3 years have passed since last update.

手動テストを圧倒的に効率化するChrome DevTools技3選

Last updated at Posted at 2019-07-14

はじめに

Chrome DevTools、とっても便利ですよね。
自分はそんなに使いこなせてないので、同僚エンジニアのディスプレイを覗き見ると「ま、またおれの知らないDevTools技使ってる……!」と驚かされることがよくあります1

今回は、自分が同僚から教えてもらった多くのスゴ技のうち、良く使うものを3つご紹介します。

なお、Chromeの話をしていますが、きっと他のブラウザにも似たような機能はあるかと思いますので、Chrome絶対使いたくないマンはぜひお気に入りのブラウザで探してみて下さい。

Javascriptの実行を途中で止める

DevTool上からブレークポイントを設定することができます。

image.png

ブレークポイントをご存じない方のために説明しておくと、「特定の場所まで来たら実行を一時停止する」機能です。
↑の例では 特定のDOM要素に変更があった時に実行を一時停止 させていますが、他にも

  • コードの特定の行に差し掛かったら実行を一時停止する
  • 特定のイベントが発火したら(例えば特定の要素のclickイベントが発火したら)実行を一時停止する

などが出来ます。
テスター的には上記例で挙げた 特定のDOM要素に変更があった時に実行を一時停止 が一番便利でしょう。


停止後は再生ボタンが表示され、停止を解除して次のブレークポイントまで実行したり、コードを1行ずつ実行(ステップ実行と呼びます)することもできます。

image.png

特定の操作を繰り返し実行する

Network タブを開くと、それ以降に発生した通信ログを全て記録してくれます。
SPAとかでAjax通信がたくさん発生するシーンでとても有効でしょう。
不具合の原因がフロントエンドにあるのかバックエンドにあるのかを突き止めるのに使ったりしています。

個人的にとても気に入っているのが、 Copy As Fetch という機能で、これはリクエストを Console タブに貼り付けて実行できる形でコピーしてくれます。
画面上の操作を繰り返し実行したい時に便利です。

image.png

image.png

例えば「コメントを100回投稿する」みたいなことをやりたい時に

  • コメントを投稿する
  • Network タブで該当のリクエストを探し出す
  • Copy As Fetch でリクエストをコピーする
  • Consoleにペーストする
  • オラオラオラオラオラオラオラオラオラオラオラオラオラオラ(略)

みたいにすると簡単に量産することが出来ます2

Cookieを見たり編集したりする

Application タブからStorageやCacheを見ることができます。
Storageというのはブラウザ内で保存しているデータのことです。
よくCookieとかLocalStorageとか聞くと思うんですが、まさしくそれのことです。

バグチケットを切った時に
「こちらの環境では再現しないですね」
「なんか変なCookieが残ったりしてないですかね」
などのように言われたら、とりあえず Application タブをチェックしてみましょう。

image.png

Cookie周りの不具合が発生したときは、Webアプリ側の操作でどのようにCookieの値が変わるのかを見ながらテストするとわかりやすいです。
また、値は編集可能ですので、直接編集して挙動を確認してみるのも良いでしょう。

不具合調査以外で自分が良く利用するユースケースでは、例えば言語設定をCookieに保存していたりする場合、 locale: ja となっているところを en に変更して言語を切り替える、みたいなことをしたりすることがあります。


  1. ごくまれに、せっせとSlackの絵文字作ってるところに出くわすこともあります。 

  2. 実際にはCSRFトークンなどの関連でうまく動かないときもあります。 

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5