storebound/tests/fixtures/console/asc-apps.html
CRT ce69fbd600 console fill: opens the form itself and reuses the owner's Chrome sign-in
Navigation after sign-in (navPlan + navigate): App Store Connect Apps > + > New App
(EN/TR), App Privacy by /apps/<appId>/distribution/privacy or the app list, Play app
list by package name > Policy and programs > App content > Start / Manage. Every
navigation click goes through navClick: the click gate stays absolute, only a link
named exactly Start / Manage / Başla / Yönet passes. Each step is logged; a step not
found in time or two matching apps -> the printed steps and wait (no crash).
The TR gate now refuses "uygula" (apply) but not "uygulama" (app).

Browser (cli/console/session.ts): attach to a Chrome with remote debugging (--cdp or
DevToolsActivePort), else on macOS a temporary profile with only Local State and the
profile's Cookies filtered to the console hosts, opened in real Chrome and deleted at
the end, else storebound's own profile (--fresh-profile). Cookies are never printed.
Desktop: fresh_profile option, the dialog says it uses the Chrome sign-in.
Tests: navigation fixtures (ASC EN/TR, Play list, App content, missing step,
duplicates, deny-listed decoys), session file selection, host filter, cleanup, and a
real-Chrome copy-mode test on a throwaway profile and a local site.
2026-10-12 02:21:35 +08:00

33 lines
2.1 KiB
HTML

<!doctype html>
<!-- MODELED, not recorded: a sanitized stand-in for App Store Connect > Apps with the add button (+) and its menu
(New App, New App Bundle), written from Apple's public help page "Add a new app". The New App dialog opens from the
menu. Decoy controls (Submit for Review, Create) must never be clicked. Placeholder data only. -->
<html lang="en"><head><meta charset="utf-8"><title>Apps - App Store Connect</title><script src="/_common.js"></script></head>
<body>
<h1>Apps</h1>
<button type="button" id="plus" aria-label="Add Apps" aria-haspopup="menu">+</button>
<div role="menu" id="menu" hidden>
<div role="menuitem" tabindex="0" id="newapp">New App</div>
<div role="menuitem" tabindex="0">New App Bundle</div>
</div>
<nav aria-label="Apps list"><a href="/asc-app.html">Example Game</a> <a href="/asc-app.html">Other App</a></nav>
<button type="button">Submit for Review</button>
<div role="dialog" aria-labelledby="t" id="dlg" hidden>
<h2 id="t">New App</h2>
<fieldset><legend>Platforms</legend>
<label><input type="checkbox"> iOS</label> <label><input type="checkbox"> macOS</label>
</fieldset>
<p><label>Name <input type="text" maxlength="30"></label></p>
<p><label>Primary Language <select><option value="">Choose</option><option>English (U.K.)</option><option>English (U.S.)</option></select></label></p>
<p><label>Bundle ID <select><option value="">Choose</option><option>Example Game - com.example.game</option></select></label></p>
<p><label>SKU <input type="text"></label></p>
<fieldset><legend>User Access</legend>
<label><input type="radio" name="access"> Limited Access</label> <label><input type="radio" name="access"> Full Access</label>
</fieldset>
<button type="button">Cancel</button> <button type="button">Create</button>
</div>
<script>
document.getElementById('plus').addEventListener('click', () => { document.getElementById('menu').hidden = false; });
document.getElementById('newapp').addEventListener('click', () => { document.getElementById('menu').hidden = true; document.getElementById('dlg').hidden = false; });
</script>
</body></html>