QAエンジニアがChatGPTでGoogle Chrome拡張機能を作るという選択
WebサービスのQAをやっていると、開発に依頼をするほどではないですが、QAを楽にする機能がほしいことがあります。とはいえ僕は開発力がそれほど高くないので、小さなことを実現するだけでも時間がかかってしまいます。今までは自分の中でGoogle Apps Script(GAS)を使うという選択肢しか持っていなかったのですが、ChatGPTでChrome拡張機能での実装させたら思いのほか楽で、解決の選択肢が増やすことができたという話です。
GASとChrome拡張の比較
GASは、Google SheetsやDocsなどのGoogleサービスと簡単に統合でき、クラウドベースで管理が不要です。無料で利用でき、簡単にデプロイ可能ですが、性能やUIの面で制約があります。一方、Google Chrome拡張機能は、ウェブ全体で動作し、高度なカスタマイズが可能です。ブラウザのAPIを活用し、複雑な処理にも対応できますが、セキュリティリスクやインストールの手間があります。Googleサービスの統合が目的ならGAS、高度なブラウザ機能が必要ならChrome拡張機能を選ぶと良さそう!
今回やりたいこと
・Webサービス(例:MagicPodのテスト実行結果画面)で、画面上に処理結果時間が行で複数並んでいる
・この中から処理結果時間で一番長くかかった時間を出したい
・条件としてテスト実行成功となっているだけを対象としたい
(100件以上あるデータから目視で最大を確認するのはめんどう)
(開始時間にもHH:MM:SS形式の時間があるので、所要時間に絞って集計する必要がある)
*設定名や開始時間はマスクしてます。
目的の為にChatGPTとうまく付き合う
今回、Chrome拡張を開発するにあたって
・エディタ(VS Code)
・Chrome
・ChatGPT(4oを使いましたが、3.5でも多分近いことは出来る)
のツールを使い、出来るだけ自分でのコーディングを行わずChatGPTによるコード生成で進めました。自己学習の為にchrome拡張やJSについて学習することは、もちろん大事なのですが、今回はやりたいことが明確で、目的達成を優先しています。
結果的に目的のものは作れる?
ChatGPTとやりとりを開始して、1回で目的のものを作るのは流石にできなかったのですが、エラーや起こっている現象を雑に伝え、およそ10回ほどのやり取りで作成したいChrome拡張を作ることが出来ました。
要素を取得するためのクラス情報などをChatGPTに教えたりすることも必要ではありますが、「どういう情報が必要ですか?」「それはどうやって確認することが出来ますか?」などもChatGPTに聞けるので、門外漢であっても簡単に出来そうですね!今回は最大のみに絞りましたが、最大が出せるようなら少し手を加えるだけで、最小や平均を求めたり、直近X回での成功を導き出したりと応用もできそうです!
Discussion