👌

QAエンジニアがChatGPTでGoogle Chrome拡張機能を作るという選択

2024/07/07に公開

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