In this video· click a step to jump to it
V
Passed ✓
Test recording
v2fun — authed walkthrough
90,821 ms · 115,410 pixels changed
We built this regression test for v2fun.ai — it's yours to keep, free.
Take this test with you
This is a real Playwright test, recorded against v2fun.ai. Claim it into your own workspace and re-run it on every deploy — free.
export async function test(page, baseUrl, screenshotPath, stepLogger) {
const BASE = "https://v2fun.ai";
const ENTRY = "/workspace?tab=image&model=gpt-image-2";
const BIZ = "A friendly robot mascot for a developer tools startup, clean 3D render, soft studio lighting";
const COOKIES = [{"name": "clientRegion", "value": "HU", "url": "https://v2fun.ai/"}, {"name": "i18n_redirected", "value": "en", "url": "https://v2fun.ai/"}, {"name": "_ga", "value": "GA1.1.569820333.1784176536", "url": "https://v2fun.ai/"}, {"name": "_gcl_au", "value": "1.1.1668044127.1784176536.2017612297.1784176538.1784176538", "url": "https://v2fun.ai/"}, {"name": "JSESSIONID", "value": "-ZlWSpL1BJk0StwmzaUBL45Y4tb8SDdBg--CcIny", "url": "https://api.prod.v2fun.ai/"}, {"name": "token", "value": "•••", "url": "https://v2fun.ai/"}, {"name": "user-info", "value": "%7B%22id%22%3A%222077615575123853314%22%2C%22username%22%3A%22klU9Xnlastestcloud%40gmail.com%22%2C%22realname%22%3Anull%2C%22nickName%22%3A%22Last%22%2C%22regionType%22%3A%22GLOBAL%22%2C%22avatar%22%3A%22upload%2Fimage%2F2026%2F07%2F16%2F20260716044527_e03f2253.jpg%22%2C%22birthday%22%3Anull%2C%22sex%22%3Anull%2C%22email%22%3A%22lastestcloud%40gmail.com%22%2C%22phone%22%3Anull%2C%22orgCode%22%3Anull%2C%22loginTenantId%22%3A0%2C%22orgCodeTxt%22%3Anull%2C%22status%22%3A1%2C%22delFlag%22%3A0%2C%22workNo%22%3Anull%2C%22post%22%3Anull%2C%22telephone%22%3Anull%2C%22createBy%22%3Anull%2C%22createTime%22%3A%222026-07-16%2012%3A45%3A27%22%2C%22updateBy%22%3Anull%2C%22updateTime%22%3A%222026-07-16%2012%3A45%3A28%22%2C%22activitiSync%22%3A1%2C%22userIdentity%22%3Anull%2C%22departIds%22%3Anull%2C%22relTenantIds%22%3Anull%2C%22clientId%22%3Anull%2C%22homePath%22%3Anull%2C%22postText%22%3Anull%2C%22bpmStatus%22%3Anull%2C%22izBindThird%22%3Afalse%2C%22isAdm%22%3A0%2C%22invitedAdmin%22%3Anull%2C%22isActivated%22%3A1%2C%22acceptDate%22%3Anull%2C%22isMember%22%3A0%2C%22invitationCode%22%3Anull%2C%22languageCode%22%3A%22en%22%2C%22hwOpenId%22%3Anull%2C%22hwUnionId%22%3Anull%2C%22hwPushToken%22%3Anull%7D", "url": "https://v2fun.ai/"}, {"name": "_ga_BH37PP25E7", "value": "GS2.1.s1784176535$o1$g1$t1784177127$j6$l0$h0", "url": "https://v2fun.ai/"}, {"name": "user-points", "value": "300", "url": "https://v2fun.ai/"}, {"name": "user-subscriptioner-info", "value": "%7B%22currentPlan%22%3A%7B%22id%22%3A%222027311875710873601%22%2C%22planKey%22%3A%22free%22%2C%22planName%22%3A%22%E5%85%8D%E8%B4%B9%E4%BC%9A%E5%91%98%22%2C%22planNameEn%22%3A%22Free%22%2C%22planDescription%22%3A%22%E8%BD%BB%E5%BA%A6%E5%88%9B%E4%BD%9C%E4%BD%93%E9%AA%8C%22%2C%22planDescriptionEn%22%3A%22Light%20Creative%20Experience%22%2C%22monthlyPoints%22%3A200%2C%22dailyCheckInPoints%22%3A20%2C%22concurrentTasks%22%3A1%2C%22queuePriority%22%3A%22LOW%22%2C%22modelDownloadLimit%22%3A20%2C%22assetStorageLimit%22%3A50%2C%22delFlag%22%3A0%2C%22createTime%22%3A%222026-02-27%2017%3A16%3A31%22%2C%22updateTime%22%3A%222026-07-02%2011%3A05%3A01%22%7D%2C%22nextBillingDate%22%3Anull%2C%22expireDate%22%3Anull%2C%22productType%22%3A%22free%22%2C%22currentSubStatus%22%3A%22ACTIVE%22%2C%22remainingPoints%22%3A300%2C%22payMethod%22%3Anull%2C%22currency%22%3Anull%2C%22cancelReason%22%3Anull%7D", "url": "https://v2fun.ai/"}];
const LS = {"https://v2fun.ai": [{"name": "__tea_cache_first_prod-v2fun-ai", "value": "1"}, {"name": "_gcl_ls", "value": "{\"schema\":\"gcl\",\"version\":1,\"gsid_dc\":{\"value\":{\"joinId\":\"Y0V3UDfQDDaT7vdX9fmzSs3f_lHUq2IRmg\",\"lastJoinedTimeMs\":1784177073193},\"expires\":1784177373193},\"gcl_ctr\":{\"value\":{\"value\":5,\"timeouts\":0,\"errors\":0,\"eopCount\":0,\"creationTimeMs\":1784177127934},\"expires\":1791953127934}}"}, {"name": "__tea_cache_refer_prod-v2fun-ai", "value": "{\"refer_key\":\"https://v2fun.ai/login\",\"refer_title\":\"V2Fun - Login-Your Creativity Under Control\",\"refer_manual_key\":\"\",\"routeChange\":true}"}, {"name": "nuxt-color-mode", "value": "dark"}, {"name": "__tea_cache_tokens_prod-v2fun-ai", "value": "{\"web_id\":\"4130101611410761541\",\"user_unique_id\":\"4130101611410761541\",\"timestamp\":1784177116848,\"_type_\":\"default\"}"}]};
const shot = async (n, label) => { try { await page.screenshot({ path: screenshotPath.replace(/\.png$/, '') + '-' + n + '.png', fullPage: true }); } catch (e) {} stepLogger.log(label || n); };
const dismiss = async () => { try { await page.getByRole('button', { name: /skip|dismiss|got it|maybe later|not now|close|accept|ok$/i }).first().click({ timeout: 2000 }); } catch (e) {} };
const SAFE = /log ?out|sign ?out|delete|remove|pay|subscribe|upgrade|buy|purchase|checkout|billing|cancel|archive|send email|charge|invite|\bpay\b/i;
try { await page.context().addCookies(COOKIES); } catch (e) { stepLogger.warn('addCookies: ' + e.message); }
await page.addInitScript((ls) => {Checks run
Run
✓
Visual
53.70%
Text
—
DOM
✓
Network
+1612 −1599
Console
✓
A11y
B
Perf
117 over
URL
26 diverged
Variables
—
Full report
Log in →
115,410
Diff px
1m 31s
Duration
B
Accessible
WCAG 2.2 · 87
Review
Fast
Web Vitals
Notes from the demo run
AI-generatedWe signed into V2Fun and walked the authenticated workspace: an AI image-to-3D generator with a rich category rail (Movie Icons, Sports Legends, Sci-Fi, Game Assets, Realistic Props...), a live credit balance, and a generation composer. It's a genuinely visual, gallery-first product that shows its value on first paint.
Highlights
- Gallery-first workspaceLanding straight into curated categories (Movie Icons / Game Assets / Realistic Props) shows what is possible before the user types anything, strong for a generative tool.
- Visible credit balanceShowing 320 credits up front sets clear, honest expectations about the free tier.
Friction points
- Signup asks for a 6-digit code + birthdayEmail-code plus a birthday field adds three context switches before the workspace; your "Continue with Google" path (which we used) is far smoother, consider leading with it.
5 visual changes
Share this run
Earned · Lastest awards
Proof your app is not AI slop
Badges stay live, ratchet upward, only downgrade on confirmed regression.
57,604 test runs recorded · 1,174 products tested with Lastest
This test was built for v2fun.ai — claim it free
One click copies the test and baseline screenshots into your own Lastest workspace. Re-run on every deploy and catch regressions before your users do — free, no card required.














