Files
taxbaik/test-output.log
kjh2064 3153d3c095 경로 최적화: PathBase 제거 및 상대 경로로 전환
## 변경사항
- Program.cs: app.UsePathBase('/taxbaik') 제거
- Blazor 컴포넌트: /taxbaik/admin/* → ./* 상대 경로로 변경
- 모든 내부 링크 절대 경로 → 상대 경로로 전환

## 현황
 빌드: 0 오류, 0 경고
 헬스체크: HTTP 200
 로그인 페이지: 로드 정상
 로그인 API: 400 오류 (DB 오류 - 조사 중)

## 다음 단계
- LoginEndpoint에서 발생하는 DB 오류 원인 파악 필요
- Razor Pages 절대 경로도 상대 경로로 변경 (보류 중)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-08 15:00:23 +09:00

4199 lines
394 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
> test:e2e
> playwright test --reporter=list
Running 156 tests using 8 workers
- 3 [Desktop Chrome] tests\e2e\admin-password-change.spec.ts:10:7 admin password change changes password through the real admin UI
Username filled: true, Password filled: true
=== 1단계: 로그인 페이지 이동 ===
✓ 페이지 로드: 관리자 로그인
=== 2단계: 로그인 수행 ===
[Browser Console] [error] Error in mono_download_assets: Error: download 'http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.y2d70ja2cw.wasm' for System.Runtime.InteropServices.y2d70ja2cw.wasm failed 0 TypeError: Failed to fetch
[Browser Console] [error] Error in mono_download_assets: Error: download 'http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.y2d70ja2cw.wasm' for System.Runtime.InteropServices.y2d70ja2cw.wasm failed 0 TypeError: Failed to fetch
✓ Logged in and redirected to dashboard
BAD HTTP: 400 http://localhost:5001/taxbaik/api/auth/login
CONSOLE: error Failed to load resource: the server responded with a status of 400 (Bad Request)
localStorage has accessToken: true
Current URL after login: http://localhost:5001/taxbaik/admin/dashboard
Network requests: [{"url":"http://localhost:5001/taxbaik/admin/login","status":200},{"url":"http://localhost:5001/taxbaik/admin/login","status":200},{"url":"http://localhost:5001/taxbaik/admin/dashboard","status":200},{"url":"http://localhost:5001/taxbaik/admin/js/admin-session.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/blazor.webassembly.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/css/admin.css","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_content/Microsoft.DotNet.HotReload.WebAssembly.Browser/Microsoft.DotNet.HotReload.WebAssembly.Browser.99zm1jdh75.lib.module.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.native.2qba9g5fwn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.JavaScript.0uujcsvtme.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/FluentValidation.fvee6lf8f0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Authorization.wp5b4xwrtz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Application.nk6b00sehx.pdb","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.runtime.o0qy896u8v.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.native.xanz2e7ksm.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.Forms.ec8b0m8vzy.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.Authorization.qjl31ej8ln.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.4payhwuyuh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.Web.j6d7zpk03e.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.CoreLib.8ubjv9s18t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Metadata.bhaqktdl3q.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.WebAssembly.jt9rzx6tc4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Domain.slcej1gg8j.pdb","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.DotNet.HotReload.WebAssembly.Browser.ttbwk6q8rt.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.s6epnzhbd8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.Abstractions.wa2ojg94fi.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.Binder.l7o5knh4f1.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.FileExtensions.ke1t9ns7xl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Bcl.Cryptography.3pa69hqvhn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.Json.k1hilos7yb.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.DependencyInjection.nun950pku8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.q6idsb19uh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Diagnostics.f7zn8s1thp.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Caching.Abstractions.vvlexwbaez.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Diagnostics.Abstractions.s62vewhs76.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.FileProviders.Abstractions.woov9lkdcy.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.FileSystemGlobbing.jnewm5d55t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Http.0emfrzn4z9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.FileProviders.Physical.4uvrzrkcx9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Localization.Abstractions.pyaf3dbk0g.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Logging.Abstractions.62zefycurg.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Logging.xispqyz68y.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Options.bs7sofzszu.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Localization.5atztr4g6x.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Options.ConfigurationExtensions.i2sp1sqcbf.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Primitives.ub9q6nskn2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Validation.y25xlv978u.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.Abstractions.psm3y4qcdp.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.JsonWebTokens.n0dq0d579y.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.Logging.r9vixnozb0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.JSInterop.zhfbg74p0e.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IdentityModel.Tokens.Jwt.3z2p0190ll.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.CSharp.j06echzfpz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.JSInterop.WebAssembly.vi1uw8swyy.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.VisualBasic.r1r1o64guk.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/MudBlazor.d6wkksyg7d.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.Tokens.re3chwnju5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Win32.Primitives.5nko60lje3.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.VisualBasic.Core.h2kvac5o7p.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.AppContext.c2z2iszv5a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Win32.Registry.lmhf2szmg9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Buffers.jv7wyzqgeh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.Concurrent.qyjrh4n7wg.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.Immutable.6nfqc1y6mx.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.NonGeneric.oye06xq4bj.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.4u69gysy90.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.Specialized.ua3ga4ojzm.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.Annotations.fu60omoy5j.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.EventBasedAsync.6se1ltc450.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.DataAnnotations.b05dlz1h33.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.Primitives.lzg3p2fcb8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.u8ypsaemfu.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Configuration.gkfiw2lgu6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.TypeConverter.pua8doket6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Core.lhxt5qhoq6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Data.Common.eqtn3ssyme.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Console.p023t1evip.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Contracts.dck23rphvl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Data.d0h61hksxr.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Debug.xp56ua2jd2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Data.DataSetExtensions.zp6ucti1as.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.FileVersionInfo.8kwccfatn9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.DiagnosticSource.kzyp7dz13i.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Process.pbsvhgaqld.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.TextWriterTraceListener.f9a4ca75f9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.StackTrace.uosmk512ff.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Tools.r58uhp06u4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Tracing.uyjvspoaee.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Drawing.nem9gi6fos.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Formats.Asn1.9bedxuqoe2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Dynamic.Runtime.4xdpjnpw4n.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Formats.Tar.hjwgs8goh9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Globalization.de5yfe377i.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Globalization.Calendars.qqu4d9h6d4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Globalization.Extensions.1d3dstrmml.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.TraceSource.74aa6mybdk.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Drawing.Primitives.ygagw4cllm.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.DriveInfo.0o22a9akm7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.mbpybl62de.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.Brotli.s6yhzy6ra0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.ZipFile.5ulbwi9soi.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.AccessControl.olg38ln9cn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.Watcher.b81ylq3lid.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.m0wrikzu53.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.Primitives.efika37m4r.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.MemoryMappedFiles.1qwcduyngl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.IsolatedStorage.moxgx46g2v.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Pipelines.8cw6ik4s41.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.FileSystem.8e8pwcj0r8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.UnmanagedMemoryStream.09whssgw8a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Pipes.AccessControl.yejz5yzur4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.lavhpdycer.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.AsyncEnumerable.a9leffpn15.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.Expressions.r1c6atm1cw.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.Parallel.g7xw2v7b07.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Pipes.aovxgtgqh6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.Queryable.sdb7n2mhn5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.rskygq9p37.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Memory.i4ezuafn9k.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Http.Json.zy8lvi4mlm.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Http.c5n0c1iaa3.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.HttpListener.bzgrr803nf.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Mail.tbh6kodhoc.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.NetworkInformation.6lqpzaxhm8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.NameResolution.97kbgrqa3x.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Ping.8imioclqo5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Primitives.06opecf70b.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Quic.m8fkmwx2e2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Security.7zwmva046j.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.ServerSentEvents.c4uhw1iihb.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Sockets.3pbfy2myku.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebClient.0vydlgc6dw.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.ServicePoint.jysyz6pe5n.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebProxy.zmhtx343lv.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebHeaderCollection.7o9dkw6pk7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Requests.r215bg21jb.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebSockets.Client.2f3nip0afr.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebSockets.gm6qkoxxpi.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Numerics.ig9uomhcbs.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ObjectModel.snprhmugxx.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Numerics.Vectors.95xmo86x7v.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.4qaklzza4n.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.DispatchProxy.upd872z9tl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.DataContractSerialization.gjeod45zn6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.Xml.Linq.lr5v2oiugs.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.Xml.wtrgu5mtlc.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.Uri.z6jswaywn8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Extensions.sognfb51go.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Emit.mrh9tkt04t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Metadata.4temtjmiid.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Primitives.rla5yzpm68.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Emit.ILGeneration.g7zocluvg9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Emit.Lightweight.dg35e9lw3s.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.d59jdh5una.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.TypeExtensions.eziqyy81b1.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Resources.ResourceManager.78ixpnkxwz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Resources.Reader.42xaf3wy3o.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Resources.Writer.j5qafotg8o.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.CompilerServices.Unsafe.4s8vka7mb8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Extensions.x9isqqr7mp.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.RuntimeInformation.zydo3g4f27.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.CompilerServices.VisualC.7dilrkv0n5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Handles.gmejdz8b1i.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.y2d70ja2cw.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Formatters.kp04s3jyn3.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Loader.3t71kb21wu.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Intrinsics.kmq2apj5l0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Numerics.n8gwbfvruj.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Primitives.ktqshul6zq.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.csube7l7j7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.AccessControl.l725whzq2q.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Json.w5ytzloqtn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Xml.zxalj6oi7a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.oqtdyhn9ex.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Algorithms.xptci9gx2e.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Encoding.mjrnxqi695.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Csp.dh1ommb4jg.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Claims.ls4mvh9izv.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Cng.cwmo3bkk7r.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Primitives.3u8l6vjobk.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.OpenSsl.bwa2csm6hl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.X509Certificates.ha8unomn85.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.k3w9v7ue50.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Principal.Windows.xecxe1aqkj.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Principal.60u8ec2sxl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.SecureString.eim2t43py4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ServiceProcess.isfmih530m.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.n9s9f533o4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ServiceModel.Web.0gnfditp44.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encoding.CodePages.uujl0fau9d.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encoding.Extensions.mr1rkcnv13.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encoding.g0sgi8atoh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encodings.Web.mb9atwjqsn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Json.hphxl2km4u.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.RegularExpressions.6a9cxw2dq7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.AccessControl.m54ktoxm2s.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.Dataflow.tnzumxbiut.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Overlapped.jgaekt0s0k.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Channels.v1qpu5ozcz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.Extensions.abjpbegqw7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.Parallel.uopu4j1ll0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.f8ooi2bwxq.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Timer.n7hcp5usgn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.ThreadPool.sqmy5jnljd.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Thread.icdc9s98z0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Transactions.vnrbvecmwd.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Transactions.Local.q4k65jbhaz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.nxaopq8r9v.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Windows.brg453rzbv.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ValueTuple.6b0gmpb390.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.ReaderWriter.91p1gp9557.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Web.HttpUtility.cxyvb282ci.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Web.aeo7nmvkid.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.Linq.nmrhj7elbr.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.Serialization.ckvc8z5y7y.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XmlDocument.kp4g8oyokz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XPath.mto1j3qx1a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XmlSerializer.1mt75y9wos.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XDocument.yqi6lt4nme.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XPath.XDocument.3ukl29h35t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.5s4754zdrc.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/mscorlib.d4fuuhbiqe.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Application.b8m3bwj182.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.802vhulao5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/netstandard.qwxk4mrnbx.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Domain.7nnvbd3g2t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/icudt_EFIGS.tptq2av103.dat","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Web.Client.4m5ta01x14.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/WindowsBase.8yv9o2iuhl.wasm","status":200}]
[Browser Console] [info] Debugging hotkey: Shift+Alt+D (when application has focus)
✓ 6 [Desktop Chrome] tests\e2e\admin-smoke.spec.ts:10:7 admin smoke @smoke logs in and lands on dashboard without circuit errors (22.0s)
✓ 10 [Desktop Chrome] tests\e2e\contact-submit.spec.ts:9:7 contact submit creates an inquiry through the public API (708ms)
✘ 9 [Desktop Chrome] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation (19.9s)
✘ 1 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button (30.9s)
- 13 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:28:7 admin CRM pages TaxFilingSchedules page loads with D-day tracking
- 14 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:38:7 admin CRM pages Contracts page loads with MRR display
- 15 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:48:7 admin CRM pages ConsultingActivities page loads with activity records
- 16 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:58:7 admin CRM pages RevenueTrackings page loads with payment status tracking
- 17 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:68:7 admin CRM pages CRM navigation group is visible and expandable
- 18 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:90:7 admin CRM pages TaxProfiles editor panel is visible on add button click
- 19 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:99:7 admin CRM pages No console errors on CRM page navigation
- 20 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:131:7 admin CRM pages TaxProfiles form displays valid business type combo choices
- 21 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:155:7 admin CRM pages TaxFilingSchedules form displays filing type combo choices
- 22 [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:178:7 admin CRM pages Contracts form displays service type combo choices
✓ Blog list page loaded
✓ Blog CRUD flow complete
✘ 7 [Desktop Chrome] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports (41.3s)
✓ 5 [Desktop Chrome] tests\e2e\blog-crud.spec.ts:9:7 blog CRUD operations complete blog creation, read, update, delete flow (44.8s)
=== 1단계: 홈페이지 접속 ===
✘ 12 [Desktop Chrome] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics (10.0s)
✓ 홈페이지 로드됨
✓ 페이지 제목: 백원숙 세무회계 | 부가가치세 1기 확정신고 — 지금 상담하세요
=== 2단계: 로그인 페이지 이동 ===
✓ 로그인 페이지 접속
=== 3단계: 로그인 수행 ===
✓ 입력: admin
=== 4단계: 대시보드 확인 ===
✓ 대시보드 URL 도착
✓ 로그아웃 버튼 표시 (인증 완료)
✘ 11 [Desktop Chrome] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list (32.2s)
🔐 Logging in...
✓ 26 [Desktop Chrome] tests\e2e\contact-submit.spec.ts:58:7 contact submit submitting the public Contact.cshtml form shows the success message (3.4s)
✘ 27 [Desktop Chrome] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly (4.3s)
✘ 29 [Desktop Chrome] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics (2.6s)
✘ 2 [Desktop Chrome] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard (1.3m)
✓ 30 [Desktop Chrome] tests\e2e\route-isolation.spec.ts:6:7 route isolation public home does not boot the admin app (2.4s)
✘ 32 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button (8ms)
- 33 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:28:7 admin CRM pages TaxFilingSchedules page loads with D-day tracking
- 34 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:38:7 admin CRM pages Contracts page loads with MRR display
- 35 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:48:7 admin CRM pages ConsultingActivities page loads with activity records
- 36 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:58:7 admin CRM pages RevenueTrackings page loads with payment status tracking
- 37 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:68:7 admin CRM pages CRM navigation group is visible and expandable
- 38 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:90:7 admin CRM pages TaxProfiles editor panel is visible on add button click
- 39 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:99:7 admin CRM pages No console errors on CRM page navigation
- 40 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:131:7 admin CRM pages TaxProfiles form displays valid business type combo choices
- 41 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:155:7 admin CRM pages TaxFilingSchedules form displays filing type combo choices
- 42 [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:178:7 admin CRM pages Contracts form displays service type combo choices
✓ 31 [Desktop Chrome] tests\e2e\route-isolation.spec.ts:14:7 route isolation admin login boots the admin app under the admin base path (976ms)
✘ 24 [Desktop Chrome] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile (35.0s)
✘ 43 [iPhone 12] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard (10ms)
✘ 44 [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads (6ms)
✘ 45 [iPhone 12] tests\e2e\admin-password-change.spec.ts:10:7 admin password change changes password through the real admin UI (9ms)
✘ 47 [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads (14ms)
✘ 48 [iPhone 12] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports (10ms)
✘ 49 [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads (21ms)
✘ 4 [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads (1.5m)
✘ 50 [iPhone 12] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile (6ms)
✘ 8 [Desktop Chrome] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages (1.6m)
✘ 51 [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads (8ms)
✘ 53 [iPhone 12] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile (11ms)
✘ 54 [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load (9ms)
✘ 55 [iPhone 12] tests\e2e\admin-smoke.spec.ts:10:7 admin smoke @smoke logs in and lands on dashboard without circuit errors (11ms)
✘ 56 [iPhone 12] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports (9ms)
✘ 57 [iPhone 12] tests\e2e\blog-crud.spec.ts:9:7 blog CRUD operations complete blog creation, read, update, delete flow (9ms)
✘ 58 [iPhone 12] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages (8ms)
✘ 59 [iPhone 12] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation (9ms)
✘ 61 [iPhone 12] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics (8ms)
✓ 60 [iPhone 12] tests\e2e\contact-submit.spec.ts:9:7 contact submit creates an inquiry through the public API (400ms)
✘ 62 [iPhone 12] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list (4ms)
✘ 63 [iPhone 12] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly (10ms)
✘ 64 [iPhone 12] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD (10ms)
✘ 65 [iPhone 12] tests\e2e\contact-submit.spec.ts:58:7 contact submit submitting the public Contact.cshtml form shows the success message (10ms)
✘ 66 [iPhone 12] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links (13ms)
✘ 67 [iPhone 12] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs (193ms)
✘ 68 [iPhone 12] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics (12ms)
✘ 69 [iPhone 12] tests\e2e\route-isolation.spec.ts:6:7 route isolation public home does not boot the admin app (10ms)
✘ 70 [iPhone 12] tests\e2e\login-test.spec.ts:23:5 Admin Login Page - Full Flow Test (12ms)
✘ 72 [iPhone 12] tests\e2e\route-isolation.spec.ts:14:7 route isolation admin login boots the admin app under the admin base path (30ms)
✘ 46 [Desktop Chrome] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile (34.7s)
Username filled: true, Password filled: true
localStorage has accessToken: true
Current URL after login: http://localhost:5001/taxbaik/admin/dashboard
Network requests: [{"url":"http://localhost:5001/taxbaik/admin/login","status":200},{"url":"http://localhost:5001/taxbaik/admin/login","status":200},{"url":"http://localhost:5001/taxbaik/admin/dashboard","status":200},{"url":"http://localhost:5001/taxbaik/admin/css/admin.css","status":200},{"url":"http://localhost:5001/taxbaik/admin/js/admin-session.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/blazor.webassembly.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_content/Microsoft.DotNet.HotReload.WebAssembly.Browser/Microsoft.DotNet.HotReload.WebAssembly.Browser.99zm1jdh75.lib.module.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.native.2qba9g5fwn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.runtime.o0qy896u8v.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.native.xanz2e7ksm.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.JavaScript.0uujcsvtme.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Application.nk6b00sehx.pdb","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/FluentValidation.fvee6lf8f0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Domain.slcej1gg8j.pdb","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.CoreLib.8ubjv9s18t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Authorization.wp5b4xwrtz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.4payhwuyuh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.Authorization.qjl31ej8ln.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.Forms.ec8b0m8vzy.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.Web.j6d7zpk03e.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.WebAssembly.jt9rzx6tc4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Bcl.Cryptography.3pa69hqvhn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.DotNet.HotReload.WebAssembly.Browser.ttbwk6q8rt.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Metadata.bhaqktdl3q.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Caching.Abstractions.vvlexwbaez.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.s6epnzhbd8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.Abstractions.wa2ojg94fi.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.Binder.l7o5knh4f1.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.Json.k1hilos7yb.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.FileExtensions.ke1t9ns7xl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.DependencyInjection.nun950pku8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.q6idsb19uh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Diagnostics.Abstractions.s62vewhs76.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Diagnostics.f7zn8s1thp.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.FileProviders.Abstractions.woov9lkdcy.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.FileProviders.Physical.4uvrzrkcx9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.FileSystemGlobbing.jnewm5d55t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Localization.5atztr4g6x.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Localization.Abstractions.pyaf3dbk0g.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Http.0emfrzn4z9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Logging.xispqyz68y.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Options.bs7sofzszu.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Logging.Abstractions.62zefycurg.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Validation.y25xlv978u.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.Abstractions.psm3y4qcdp.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.JsonWebTokens.n0dq0d579y.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Options.ConfigurationExtensions.i2sp1sqcbf.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.Tokens.re3chwnju5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Primitives.ub9q6nskn2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.JSInterop.zhfbg74p0e.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.Logging.r9vixnozb0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.JSInterop.WebAssembly.vi1uw8swyy.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IdentityModel.Tokens.Jwt.3z2p0190ll.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.CSharp.j06echzfpz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.VisualBasic.Core.h2kvac5o7p.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.VisualBasic.r1r1o64guk.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Win32.Primitives.5nko60lje3.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Win32.Registry.lmhf2szmg9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.AppContext.c2z2iszv5a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Buffers.jv7wyzqgeh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.Concurrent.qyjrh4n7wg.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.Immutable.6nfqc1y6mx.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.NonGeneric.oye06xq4bj.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.Specialized.ua3ga4ojzm.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.4u69gysy90.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.Annotations.fu60omoy5j.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.DataAnnotations.b05dlz1h33.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.EventBasedAsync.6se1ltc450.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/MudBlazor.d6wkksyg7d.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.Primitives.lzg3p2fcb8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.u8ypsaemfu.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.TypeConverter.pua8doket6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Console.p023t1evip.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Configuration.gkfiw2lgu6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Core.lhxt5qhoq6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Data.DataSetExtensions.zp6ucti1as.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Data.d0h61hksxr.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Contracts.dck23rphvl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Debug.xp56ua2jd2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Data.Common.eqtn3ssyme.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.FileVersionInfo.8kwccfatn9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Process.pbsvhgaqld.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.DiagnosticSource.kzyp7dz13i.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.TextWriterTraceListener.f9a4ca75f9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Tools.r58uhp06u4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.StackTrace.uosmk512ff.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.TraceSource.74aa6mybdk.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Drawing.nem9gi6fos.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Drawing.Primitives.ygagw4cllm.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Dynamic.Runtime.4xdpjnpw4n.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Formats.Asn1.9bedxuqoe2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Tracing.uyjvspoaee.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Globalization.Calendars.qqu4d9h6d4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Formats.Tar.hjwgs8goh9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Globalization.de5yfe377i.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.Brotli.s6yhzy6ra0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Globalization.Extensions.1d3dstrmml.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.ZipFile.5ulbwi9soi.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.mbpybl62de.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.FileSystem.8e8pwcj0r8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.DriveInfo.0o22a9akm7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.Primitives.efika37m4r.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.Watcher.b81ylq3lid.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.AccessControl.olg38ln9cn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.m0wrikzu53.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.IsolatedStorage.moxgx46g2v.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.MemoryMappedFiles.1qwcduyngl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Pipelines.8cw6ik4s41.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Pipes.AccessControl.yejz5yzur4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Pipes.aovxgtgqh6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.UnmanagedMemoryStream.09whssgw8a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.lavhpdycer.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.Parallel.g7xw2v7b07.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.Expressions.r1c6atm1cw.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.Queryable.sdb7n2mhn5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.AsyncEnumerable.a9leffpn15.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.rskygq9p37.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Memory.i4ezuafn9k.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Http.Json.zy8lvi4mlm.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.HttpListener.bzgrr803nf.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Http.c5n0c1iaa3.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.NameResolution.97kbgrqa3x.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.NetworkInformation.6lqpzaxhm8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Mail.tbh6kodhoc.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Quic.m8fkmwx2e2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Ping.8imioclqo5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Requests.r215bg21jb.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Primitives.06opecf70b.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Security.7zwmva046j.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.ServicePoint.jysyz6pe5n.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Sockets.3pbfy2myku.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.ServerSentEvents.c4uhw1iihb.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebClient.0vydlgc6dw.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebHeaderCollection.7o9dkw6pk7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebProxy.zmhtx343lv.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebSockets.Client.2f3nip0afr.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebSockets.gm6qkoxxpi.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.4qaklzza4n.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Numerics.Vectors.95xmo86x7v.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Numerics.ig9uomhcbs.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.DataContractSerialization.gjeod45zn6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.Uri.z6jswaywn8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ObjectModel.snprhmugxx.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.DispatchProxy.upd872z9tl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.Xml.Linq.lr5v2oiugs.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Emit.ILGeneration.g7zocluvg9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.Xml.wtrgu5mtlc.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Emit.Lightweight.dg35e9lw3s.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Emit.mrh9tkt04t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Extensions.sognfb51go.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Primitives.rla5yzpm68.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Metadata.4temtjmiid.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.TypeExtensions.eziqyy81b1.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.d59jdh5una.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Resources.Reader.42xaf3wy3o.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Resources.ResourceManager.78ixpnkxwz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Resources.Writer.j5qafotg8o.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.CompilerServices.Unsafe.4s8vka7mb8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.CompilerServices.VisualC.7dilrkv0n5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Extensions.x9isqqr7mp.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Handles.gmejdz8b1i.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.RuntimeInformation.zydo3g4f27.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.y2d70ja2cw.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Intrinsics.kmq2apj5l0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Numerics.n8gwbfvruj.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Loader.3t71kb21wu.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Formatters.kp04s3jyn3.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Primitives.ktqshul6zq.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Json.w5ytzloqtn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Xml.zxalj6oi7a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.oqtdyhn9ex.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.csube7l7j7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.AccessControl.l725whzq2q.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Claims.ls4mvh9izv.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Algorithms.xptci9gx2e.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Cng.cwmo3bkk7r.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Csp.dh1ommb4jg.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Encoding.mjrnxqi695.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.OpenSsl.bwa2csm6hl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Primitives.3u8l6vjobk.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.X509Certificates.ha8unomn85.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Principal.60u8ec2sxl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Principal.Windows.xecxe1aqkj.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.SecureString.eim2t43py4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.k3w9v7ue50.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.n9s9f533o4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ServiceModel.Web.0gnfditp44.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ServiceProcess.isfmih530m.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encoding.Extensions.mr1rkcnv13.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encoding.g0sgi8atoh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encodings.Web.mb9atwjqsn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Json.hphxl2km4u.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.RegularExpressions.6a9cxw2dq7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.AccessControl.m54ktoxm2s.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encoding.CodePages.uujl0fau9d.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Channels.v1qpu5ozcz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Overlapped.jgaekt0s0k.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.Dataflow.tnzumxbiut.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.Extensions.abjpbegqw7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.Parallel.uopu4j1ll0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.f8ooi2bwxq.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.ThreadPool.sqmy5jnljd.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Thread.icdc9s98z0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.nxaopq8r9v.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Timer.n7hcp5usgn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Transactions.Local.q4k65jbhaz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Transactions.vnrbvecmwd.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ValueTuple.6b0gmpb390.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Web.HttpUtility.cxyvb282ci.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Web.aeo7nmvkid.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Windows.brg453rzbv.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.Linq.nmrhj7elbr.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.Serialization.ckvc8z5y7y.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.ReaderWriter.91p1gp9557.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XDocument.yqi6lt4nme.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XPath.XDocument.3ukl29h35t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XPath.mto1j3qx1a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XmlDocument.kp4g8oyokz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XmlSerializer.1mt75y9wos.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.5s4754zdrc.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/WindowsBase.8yv9o2iuhl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.802vhulao5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/mscorlib.d4fuuhbiqe.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/netstandard.qwxk4mrnbx.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Application.b8m3bwj182.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Domain.7nnvbd3g2t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/icudt_EFIGS.tptq2av103.dat","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Web.Client.4m5ta01x14.wasm","status":200}]
✘ 71 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button (16.6s)
- 76 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:28:7 admin CRM pages TaxFilingSchedules page loads with D-day tracking
- 77 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:38:7 admin CRM pages Contracts page loads with MRR display
- 78 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:48:7 admin CRM pages ConsultingActivities page loads with activity records
- 79 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:58:7 admin CRM pages RevenueTrackings page loads with payment status tracking
- 80 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:68:7 admin CRM pages CRM navigation group is visible and expandable
- 81 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:90:7 admin CRM pages TaxProfiles editor panel is visible on add button click
- 82 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:99:7 admin CRM pages No console errors on CRM page navigation
- 83 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:131:7 admin CRM pages TaxProfiles form displays valid business type combo choices
- 84 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:155:7 admin CRM pages TaxFilingSchedules form displays filing type combo choices
- 85 [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:178:7 admin CRM pages Contracts form displays service type combo choices
- 86 [iPad Pro] tests\e2e\admin-password-change.spec.ts:10:7 admin password change changes password through the real admin UI
[Browser Console] [info] Debugging hotkey: Shift+Alt+D (when application has focus)
[Browser Console] [info] Debugging hotkey: Shift+Alt+D (when application has focus)
✘ 25 [Desktop Chrome] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links (1.7m)
✓ 88 [iPad Pro] tests\e2e\admin-smoke.spec.ts:10:7 admin smoke @smoke logs in and lands on dashboard without circuit errors (5.2s)
✘ 75 [Desktop Chrome] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports (35.2s)
✓ Logged in and redirected to dashboard
✘ 87 [iPad Pro] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports (34.0s)
✘ 73 [iPad Pro] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard (1.1m)
=== 1단계: 로그인 페이지 이동 ===
✓ 페이지 로드: 관리자 로그인
=== 2단계: 로그인 수행 ===
✓ Blog list page loaded
✓ Blog CRUD flow complete
BAD HTTP: 400 http://localhost:5001/taxbaik/api/auth/login
CONSOLE: error Failed to load resource: the server responded with a status of 400 (Bad Request)
✓ 89 [iPad Pro] tests\e2e\blog-crud.spec.ts:9:7 blog CRUD operations complete blog creation, read, update, delete flow (39.6s)
✘ 92 [iPad Pro] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation (5.1s)
✓ 93 [iPad Pro] tests\e2e\contact-submit.spec.ts:9:7 contact submit creates an inquiry through the public API (394ms)
✘ 91 [iPad Pro] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile (34.7s)
✘ 74 [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads (1.5m)
✘ 95 [iPad Pro] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics (13.5s)
🔐 Logging in...
✘ 94 [iPad Pro] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list (29.2s)
✘ 98 [iPad Pro] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly (4.8s)
=== 1단계: 홈페이지 접속 ===
✓ 99 [iPad Pro] tests\e2e\contact-submit.spec.ts:58:7 contact submit submitting the public Contact.cshtml form shows the success message (3.8s)
✓ 홈페이지 로드됨
✓ 페이지 제목: 백원숙 세무회계 | 부가가치세 1기 확정신고 — 지금 상담하세요
=== 2단계: 로그인 페이지 이동 ===
✓ 로그인 페이지 접속
=== 3단계: 로그인 수행 ===
✓ 입력: admin
=== 4단계: 대시보드 확인 ===
✓ 대시보드 URL 도착
✘ 28 [Desktop Chrome] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs (92ms)
✓ 로그아웃 버튼 표시 (인증 완료)
=== 1단계: 로그인 페이지 방문 ===
✘ 96 [iPad Pro] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile (35.4s)
✅ 페이지 제목: 관리자 로그인
✅ 페이지 길이: 8797 바이트
=== 2단계: 로그인 필드 확인 ===
✅ 사용자명 필드: 보임 ✨
✅ 비밀번호 필드: 보임 ✨
✅ 로그인 버튼: 보임 ✨
=== 3단계: 로그인 입력 & 제출 ===
✅ 사용자명 입력: admin
✅ 비밀번호 입력: ••••••••
✅ 로그인 버튼 클릭
=== 4단계: 로그인 결과 대기 ===
✘ 90 [iPad Pro] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages (1.5m)
✘ 23 [Desktop Chrome] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD (35.8s)
✘ 104 [iPad Pro] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs (142ms)
⚠️ 네비게이션 타임아웃 (이미 로그인됨 또는 리다이렉트 중)
✅ 최종 URL: http://localhost:5001/taxbaik/admin/login
✅ 로그인 성공! 대시보드로 이동됨
=== 5단계: 스크린샷 ===
✅ 증빙 저장
=== 🎯 테스트 결과 ===
✅ 페이지 로드: 성공
✅ 사용자명 필드: 렌더링됨
✅ 비밀번호 필드: 렌더링됨
✅ 로그인 버튼: 렌더링됨
✓ 102 [Desktop Chrome] tests\e2e\login-test.spec.ts:23:5 Admin Login Page - Full Flow Test (19.9s)
=== 1단계: 로그인 페이지 방문 ===
✅ 페이지 제목: 관리자 로그인
✅ 페이지 길이: 8797 바이트
=== 2단계: 로그인 필드 확인 ===
✅ 사용자명 필드: 보임 ✨
✅ 비밀번호 필드: 보임 ✨
✅ 로그인 버튼: 보임 ✨
=== 3단계: 로그인 입력 & 제출 ===
✅ 사용자명 입력: admin
✅ 비밀번호 입력: ••••••••
✅ 로그인 버튼 클릭
=== 4단계: 로그인 결과 대기 ===
✘ 100 [iPad Pro] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD (39.3s)
✓ 107 [iPad Pro] tests\e2e\route-isolation.spec.ts:6:7 route isolation public home does not boot the admin app (5.4s)
✘ 52 [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads (3.0m)
⚠️ 네비게이션 타임아웃 (이미 로그인됨 또는 리다이렉트 중)
✅ 최종 URL: http://localhost:5001/taxbaik/admin/login
✅ 로그인 성공! 대시보드로 이동됨
=== 5단계: 스크린샷 ===
✅ 증빙 저장
=== 🎯 테스트 결과 ===
✅ 페이지 로드: 성공
✅ 사용자명 필드: 렌더링됨
✅ 비밀번호 필드: 렌더링됨
✅ 로그인 버튼: 렌더링됨
✓ 108 [iPad Pro] tests\e2e\route-isolation.spec.ts:14:7 route isolation admin login boots the admin app under the admin base path (1.7s)
✘ 103 [iPad Pro] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports (35.0s)
✓ 106 [iPad Pro] tests\e2e\login-test.spec.ts:23:5 Admin Login Page - Full Flow Test (21.2s)
- 112 [Galaxy S9+] tests\e2e\admin-password-change.spec.ts:10:7 admin password change changes password through the real admin UI
Username filled: true, Password filled: true
[Browser Console] [info] Debugging hotkey: Shift+Alt+D (when application has focus)
localStorage has accessToken: true
Current URL after login: http://localhost:5001/taxbaik/admin/dashboard
Network requests: [{"url":"http://localhost:5001/taxbaik/admin/login","status":200},{"url":"http://localhost:5001/taxbaik/admin/login","status":200},{"url":"http://localhost:5001/taxbaik/admin/dashboard","status":200},{"url":"http://localhost:5001/taxbaik/admin/css/admin.css","status":200},{"url":"http://localhost:5001/taxbaik/admin/js/admin-session.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/blazor.webassembly.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_content/Microsoft.DotNet.HotReload.WebAssembly.Browser/Microsoft.DotNet.HotReload.WebAssembly.Browser.99zm1jdh75.lib.module.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.native.2qba9g5fwn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.native.xanz2e7ksm.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/dotnet.runtime.o0qy896u8v.js","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.JavaScript.0uujcsvtme.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Application.nk6b00sehx.pdb","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Authorization.wp5b4xwrtz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/FluentValidation.fvee6lf8f0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Domain.slcej1gg8j.pdb","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.CoreLib.8ubjv9s18t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.4payhwuyuh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.Forms.ec8b0m8vzy.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.Authorization.qjl31ej8ln.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.Web.j6d7zpk03e.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Components.WebAssembly.jt9rzx6tc4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.AspNetCore.Metadata.bhaqktdl3q.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Bcl.Cryptography.3pa69hqvhn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.DotNet.HotReload.WebAssembly.Browser.ttbwk6q8rt.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Caching.Abstractions.vvlexwbaez.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.Abstractions.wa2ojg94fi.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.s6epnzhbd8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.Binder.l7o5knh4f1.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.FileExtensions.ke1t9ns7xl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Configuration.Json.k1hilos7yb.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.DependencyInjection.nun950pku8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.q6idsb19uh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Diagnostics.f7zn8s1thp.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Diagnostics.Abstractions.s62vewhs76.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Http.0emfrzn4z9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.FileProviders.Abstractions.woov9lkdcy.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Localization.5atztr4g6x.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.FileProviders.Physical.4uvrzrkcx9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.FileSystemGlobbing.jnewm5d55t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Localization.Abstractions.pyaf3dbk0g.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Logging.xispqyz68y.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Logging.Abstractions.62zefycurg.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Options.bs7sofzszu.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Options.ConfigurationExtensions.i2sp1sqcbf.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Primitives.ub9q6nskn2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Extensions.Validation.y25xlv978u.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.JsonWebTokens.n0dq0d579y.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.Abstractions.psm3y4qcdp.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.Logging.r9vixnozb0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.IdentityModel.Tokens.re3chwnju5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.JSInterop.zhfbg74p0e.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.JSInterop.WebAssembly.vi1uw8swyy.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.CSharp.j06echzfpz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.VisualBasic.r1r1o64guk.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IdentityModel.Tokens.Jwt.3z2p0190ll.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.VisualBasic.Core.h2kvac5o7p.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/MudBlazor.d6wkksyg7d.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Win32.Primitives.5nko60lje3.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/Microsoft.Win32.Registry.lmhf2szmg9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.AppContext.c2z2iszv5a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Buffers.jv7wyzqgeh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.Concurrent.qyjrh4n7wg.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.NonGeneric.oye06xq4bj.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.Specialized.ua3ga4ojzm.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.Immutable.6nfqc1y6mx.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Collections.4u69gysy90.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.Annotations.fu60omoy5j.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.DataAnnotations.b05dlz1h33.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.EventBasedAsync.6se1ltc450.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.Primitives.lzg3p2fcb8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.u8ypsaemfu.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ComponentModel.TypeConverter.pua8doket6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Configuration.gkfiw2lgu6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Console.p023t1evip.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Core.lhxt5qhoq6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Data.DataSetExtensions.zp6ucti1as.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Data.d0h61hksxr.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Data.Common.eqtn3ssyme.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Contracts.dck23rphvl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Debug.xp56ua2jd2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.DiagnosticSource.kzyp7dz13i.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.FileVersionInfo.8kwccfatn9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Process.pbsvhgaqld.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.StackTrace.uosmk512ff.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.TextWriterTraceListener.f9a4ca75f9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.TraceSource.74aa6mybdk.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Tools.r58uhp06u4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Diagnostics.Tracing.uyjvspoaee.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Drawing.nem9gi6fos.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Drawing.Primitives.ygagw4cllm.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Dynamic.Runtime.4xdpjnpw4n.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Formats.Tar.hjwgs8goh9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Formats.Asn1.9bedxuqoe2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Globalization.Extensions.1d3dstrmml.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Globalization.Calendars.qqu4d9h6d4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Globalization.de5yfe377i.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.Brotli.s6yhzy6ra0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.FileSystem.8e8pwcj0r8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.mbpybl62de.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Compression.ZipFile.5ulbwi9soi.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.DriveInfo.0o22a9akm7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.AccessControl.olg38ln9cn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.Primitives.efika37m4r.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.m0wrikzu53.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.FileSystem.Watcher.b81ylq3lid.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.MemoryMappedFiles.1qwcduyngl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.IsolatedStorage.moxgx46g2v.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Pipelines.8cw6ik4s41.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Pipes.AccessControl.yejz5yzur4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.Pipes.aovxgtgqh6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.UnmanagedMemoryStream.09whssgw8a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.IO.lavhpdycer.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.AsyncEnumerable.a9leffpn15.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.Parallel.g7xw2v7b07.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.Expressions.r1c6atm1cw.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.Queryable.sdb7n2mhn5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Memory.i4ezuafn9k.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Http.Json.zy8lvi4mlm.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.HttpListener.bzgrr803nf.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.NameResolution.97kbgrqa3x.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Http.c5n0c1iaa3.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Linq.rskygq9p37.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.NetworkInformation.6lqpzaxhm8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Ping.8imioclqo5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Primitives.06opecf70b.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Mail.tbh6kodhoc.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Quic.m8fkmwx2e2.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Requests.r215bg21jb.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Security.7zwmva046j.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.ServerSentEvents.c4uhw1iihb.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.ServicePoint.jysyz6pe5n.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.Sockets.3pbfy2myku.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebClient.0vydlgc6dw.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebHeaderCollection.7o9dkw6pk7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebProxy.zmhtx343lv.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Numerics.Vectors.95xmo86x7v.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebSockets.Client.2f3nip0afr.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.4qaklzza4n.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Net.WebSockets.gm6qkoxxpi.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Numerics.ig9uomhcbs.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ObjectModel.snprhmugxx.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.Xml.Linq.lr5v2oiugs.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.Uri.z6jswaywn8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.DataContractSerialization.gjeod45zn6.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.DispatchProxy.upd872z9tl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Private.Xml.wtrgu5mtlc.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Emit.ILGeneration.g7zocluvg9.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Emit.mrh9tkt04t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Emit.Lightweight.dg35e9lw3s.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Extensions.sognfb51go.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Metadata.4temtjmiid.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.Primitives.rla5yzpm68.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.TypeExtensions.eziqyy81b1.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Resources.Reader.42xaf3wy3o.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Reflection.d59jdh5una.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Resources.ResourceManager.78ixpnkxwz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Resources.Writer.j5qafotg8o.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.CompilerServices.Unsafe.4s8vka7mb8.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.CompilerServices.VisualC.7dilrkv0n5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Extensions.x9isqqr7mp.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Handles.gmejdz8b1i.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.RuntimeInformation.zydo3g4f27.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Loader.3t71kb21wu.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.InteropServices.y2d70ja2cw.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Intrinsics.kmq2apj5l0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Numerics.n8gwbfvruj.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Json.w5ytzloqtn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Formatters.kp04s3jyn3.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Primitives.ktqshul6zq.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.Xml.zxalj6oi7a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.AccessControl.l725whzq2q.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.csube7l7j7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Runtime.Serialization.oqtdyhn9ex.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Claims.ls4mvh9izv.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Csp.dh1ommb4jg.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Algorithms.xptci9gx2e.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Cng.cwmo3bkk7r.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Encoding.mjrnxqi695.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.Primitives.3u8l6vjobk.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.OpenSsl.bwa2csm6hl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.X509Certificates.ha8unomn85.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Principal.Windows.xecxe1aqkj.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Cryptography.k3w9v7ue50.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.Principal.60u8ec2sxl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.SecureString.eim2t43py4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Security.n9s9f533o4.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ServiceModel.Web.0gnfditp44.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ServiceProcess.isfmih530m.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encoding.g0sgi8atoh.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encoding.Extensions.mr1rkcnv13.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encoding.CodePages.uujl0fau9d.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Encodings.Web.mb9atwjqsn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.Json.hphxl2km4u.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.AccessControl.m54ktoxm2s.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Text.RegularExpressions.6a9cxw2dq7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Channels.v1qpu5ozcz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Overlapped.jgaekt0s0k.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.Dataflow.tnzumxbiut.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.Extensions.abjpbegqw7.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.Parallel.uopu4j1ll0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Thread.icdc9s98z0.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Tasks.f8ooi2bwxq.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.ThreadPool.sqmy5jnljd.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.nxaopq8r9v.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Threading.Timer.n7hcp5usgn.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Transactions.Local.q4k65jbhaz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Transactions.vnrbvecmwd.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.ValueTuple.6b0gmpb390.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Web.aeo7nmvkid.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Web.HttpUtility.cxyvb282ci.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Windows.brg453rzbv.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.Linq.nmrhj7elbr.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.Serialization.ckvc8z5y7y.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.ReaderWriter.91p1gp9557.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XPath.XDocument.3ukl29h35t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XDocument.yqi6lt4nme.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XmlDocument.kp4g8oyokz.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XPath.mto1j3qx1a.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.XmlSerializer.1mt75y9wos.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.Xml.5s4754zdrc.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/System.802vhulao5.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/WindowsBase.8yv9o2iuhl.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/mscorlib.d4fuuhbiqe.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/netstandard.qwxk4mrnbx.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Application.b8m3bwj182.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Domain.7nnvbd3g2t.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/TaxBaik.Web.Client.4m5ta01x14.wasm","status":200},{"url":"http://localhost:5001/taxbaik/admin/_framework/icudt_EFIGS.tptq2av103.dat","status":200}]
[Browser Console] [info] Debugging hotkey: Shift+Alt+D (when application has focus)
✘ 109 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button (19.4s)
- 115 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:28:7 admin CRM pages TaxFilingSchedules page loads with D-day tracking
- 116 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:38:7 admin CRM pages Contracts page loads with MRR display
- 117 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:48:7 admin CRM pages ConsultingActivities page loads with activity records
- 118 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:58:7 admin CRM pages RevenueTrackings page loads with payment status tracking
- 119 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:68:7 admin CRM pages CRM navigation group is visible and expandable
- 120 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:90:7 admin CRM pages TaxProfiles editor panel is visible on add button click
- 121 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:99:7 admin CRM pages No console errors on CRM page navigation
- 122 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:131:7 admin CRM pages TaxProfiles form displays valid business type combo choices
- 123 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:155:7 admin CRM pages TaxFilingSchedules form displays filing type combo choices
- 124 [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:178:7 admin CRM pages Contracts form displays service type combo choices
✓ 125 [Galaxy S9+] tests\e2e\admin-smoke.spec.ts:10:7 admin smoke @smoke logs in and lands on dashboard without circuit errors (5.4s)
✓ Logged in and redirected to dashboard
✘ 114 [Galaxy S9+] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports (35.8s)
✘ 101 [iPad Pro] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links (1.7m)
✓ Blog list page loaded
✓ Logout successful
✓ Blog CRUD flow complete
✓ 126 [Galaxy S9+] tests\e2e\blog-crud.spec.ts:9:7 blog CRUD operations complete blog creation, read, update, delete flow (37.6s)
=== 1단계: 로그인 페이지 이동 ===
✓ 페이지 로드: 관리자 로그인
=== 2단계: 로그인 수행 ===
BAD HTTP: 400 http://localhost:5001/taxbaik/api/auth/login
CONSOLE: error Failed to load resource: the server responded with a status of 400 (Bad Request)
✘ 113 [Galaxy S9+] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard (1.1m)
✓ 130 [Galaxy S9+] tests\e2e\contact-submit.spec.ts:9:7 contact submit creates an inquiry through the public API (379ms)
✘ 127 [Galaxy S9+] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile (34.9s)
✘ 111 [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads (1.5m)
✘ 131 [Galaxy S9+] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list (28.2s)
✘ 97 [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads (3.0m)
✘ 132 [Galaxy S9+] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile (35.0s)
✘ 128 [Galaxy S9+] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages (1.5m)
✘ 105 [iPad Pro] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics (3.6s)
🔐 Logging in...
✘ 137 [Galaxy S9+] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics (13.2s)
✘ 136 [Galaxy S9+] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports (38.6s)
✘ 138 [Galaxy S9+] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly (5.4s)
=== 1단계: 홈페이지 접속 ===
✓ 홈페이지 로드됨
✓ 페이지 제목: 백원숙 세무회계 | 부가가치세 1기 확정신고 — 지금 상담하세요
=== 2단계: 로그인 페이지 이동 ===
✓ 로그인 페이지 접속
=== 3단계: 로그인 수행 ===
✓ 입력: admin
=== 4단계: 대시보드 확인 ===
✓ 대시보드 URL 도착
✓ 로그아웃 버튼 표시 (인증 완료)
✘ 110 [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads (3.0m)
✘ 139 [Galaxy S9+] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD (36.5s)
✘ 143 [Galaxy S9+] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics (5.1s)
✘ 144 [Galaxy S9+] tests\e2e\route-isolation.spec.ts:6:7 route isolation public home does not boot the admin app (3.4s)
✓ 145 [Galaxy S9+] tests\e2e\route-isolation.spec.ts:14:7 route isolation admin login boots the admin app under the admin base path (1.4s)
✘ 146 [Public Smoke] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics (2.4s)
✓ 147 [Admin Smoke] tests\e2e\admin-smoke.spec.ts:10:7 admin smoke @smoke logs in and lands on dashboard without circuit errors (4.5s)
✓ 148 [Route Isolation] tests\e2e\route-isolation.spec.ts:6:7 route isolation public home does not boot the admin app (2.1s)
✓ 149 [Route Isolation] tests\e2e\route-isolation.spec.ts:14:7 route isolation admin login boots the admin app under the admin base path (782ms)
✘ 129 [Galaxy S9+] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation (4.6s)
✘ 133 [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads (3.0m)
✘ 134 [Galaxy S9+] tests\e2e\contact-submit.spec.ts:58:7 contact submit submitting the public Contact.cshtml form shows the success message (3.0m)
✘ 135 [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads (3.0m)
✘ 141 [Galaxy S9+] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs (146ms)
=== 1단계: 로그인 페이지 방문 ===
✅ 페이지 제목: 관리자 로그인
✅ 페이지 길이: 8797 바이트
=== 2단계: 로그인 필드 확인 ===
✅ 사용자명 필드: 보임 ✨
✅ 비밀번호 필드: 보임 ✨
✅ 로그인 버튼: 보임 ✨
=== 3단계: 로그인 입력 & 제출 ===
✅ 사용자명 입력: admin
✅ 비밀번호 입력: ••••••••
✅ 로그인 버튼 클릭
=== 4단계: 로그인 결과 대기 ===
✘ 142 [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads (3.0m)
⚠️ 네비게이션 타임아웃 (이미 로그인됨 또는 리다이렉트 중)
✅ 최종 URL: http://localhost:5001/taxbaik/admin/login
✅ 로그인 성공! 대시보드로 이동됨
=== 5단계: 스크린샷 ===
✅ 증빙 저장
=== 🎯 테스트 결과 ===
✅ 페이지 로드: 성공
✅ 사용자명 필드: 렌더링됨
✅ 비밀번호 필드: 렌더링됨
✅ 로그인 버튼: 렌더링됨
✓ 152 [Galaxy S9+] tests\e2e\login-test.spec.ts:23:5 Admin Login Page - Full Flow Test (18.4s)
✘ 140 [Galaxy S9+] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links (1.7m)
✘ 150 [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads (3.0m)
✘ 151 [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads (3.0m)
✘ 153 [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load (3.0m)
✘ 154 [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads (3.0m)
✘ 155 [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load (3.0m)
✘ 156 [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load (3.0m)
1) [Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button
Error: expect(locator).toContainText(expected) failed
Locator: locator('body')
Timeout: 12000ms
- Expected substring - 1
+ Received string + 40
- 세무 프로필
+
+  
+ Menu
+ TaxBaik
+ 세무회계 관리 대시보드
+ 공개 사이트
+ 로그아웃
+
+ T
+ TaxBaik
+ 세무 운영 콘솔
+
+ 개요<path d="M0 0h24v24H0z" fill="none"/><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/>
+ 대시보드
+
+ 공개 사이트
+ 로그아웃요청한 페이지를 찾을 수 없습니다.
+
+  
+
+  
+  
+ 연결 재설정 중...
+ 새로운 버전으로 업데이트되었습니다.
+ 자동으로 페이지를 새로고침합니다. 잠시만 기다려주세요.
+  
+  
+
+  
+ 관리자 화면을 불러오는 중 오류가 발생했습니다. 브라우저 콘솔 또는 서버 client-logs를 확인하세요.
+ 새로고침
+ 닫기
+  
+
+  
+  
+  
+
+
+
Call log:
 - Expect "toContainText" with timeout 12000ms
 - waiting for locator('body')
 15 × locator resolved to <body>…</body>
 - unexpected value "
 
 Menu
 TaxBaik
 세무회계 관리 대시보드
 공개 사이트
 로그아웃

 T
 TaxBaik
 세무 운영 콘솔

 개요<path d="M0 0h24v24H0z" fill="none"/><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/>
 대시보드

 공개 사이트
 로그아웃요청한 페이지를 찾을 수 없습니다.

 

 
 
 연결 재설정 중...
 새로운 버전으로 업데이트되었습니다.
 자동으로 페이지를 새로고침합니다. 잠시만 기다려주세요.
 
 

 
 관리자 화면을 불러오는 중 오류가 발생했습니다. 브라우저 콘솔 또는 서버 client-logs를 확인하세요.
 새로고침
 닫기
 

 
 
 


"
at helpers\admin-auth.ts:98
96 | export async function waitForAdminSection(page: Page, headingText: string) {
97 | const hero = page.locator('.admin-page-hero');
> 98 | await expect(page.locator('body')).toContainText(headingText, { timeout: Wait.page });
| ^
99 | await expect(hero).toBeVisible({ timeout: Wait.page });
100 | await expect(hero).toContainText(headingText, { timeout: Wait.page });
101 | await expect(page.getByRole('heading', { name: headingText, exact: true })).toBeVisible({ timeout: Wait.page });
at waitForAdminSection (C:\Temp\taxbaik\tests\e2e\helpers\admin-auth.ts:98:38)
at C:\Temp\taxbaik\tests\e2e\admin-crm-pages.spec.ts:21:30
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Desktop-Chrome\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Desktop-Chrome\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
2) [Desktop Chrome] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 60000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 60000ms
 - waiting for locator('.admin-page-hero')
75 | await expect(page).toHaveURL(/\/taxbaik\/admin\/dashboard$/, { timeout: 20_000 });
76 | // WASM 부팅에 시간이 걸릴 수 있으므로 더 긴 타임아웃 사용
> 77 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 60_000 });
| ^
78 | await expect(page.locator('.admin-page-hero')).toContainText('대시보드');
79 | await expect(page.getByRole('link', { name: /로그아웃/ })).toBeVisible({ timeout: 30_000 });
80 | expect(consoleErrors, 'browser console/page errors').toEqual([]);
at C:\Temp\taxbaik\tests\e2e\admin-login.spec.ts:77:52
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-1\traces\481c7578028bb96ee688-aefc7ef384b5d1902e60.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
3) [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads
Error: expect(locator).toBeVisible() failed
Locator: locator('input[placeholder*="사용자"]')
Expected: visible
Timeout: 90000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for locator('input[placeholder*="사용자"]')
11 | await page.goto(`${baseUrl}/admin/login`);
12 | await expect(page.locator('text=관리자 로그인')).toBeVisible();
> 13 | await expect(page.locator('input[placeholder*="사용자"]')).toBeVisible();
| ^
14 | });
15 |
16 | test('Dashboard page loads', async ({ page }) => {
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:13:61
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-2\traces\7ee68a35b274332ffb95-937e406787c122234496.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
4) [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-25\traces\7ee68a35b274332ffb95-1fb45c6082ca8131a0af.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
16 | test('Dashboard page loads', async ({ page }) => {
17 | await page.goto(`${baseUrl}/admin/login`);
> 18 | await page.fill('input[name="username"]', username);
| ^
19 | await page.fill('input[name="password"]', password);
20 | await page.click('button[type="submit"]');
21 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:18:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
5) [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-66\traces\7ee68a35b274332ffb95-3e67d5552a3f87367a92.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
31 | test('Blog page loads', async ({ page }) => {
32 | await page.goto(`${baseUrl}/admin/login`);
> 33 | await page.fill('input[name="username"]', username);
| ^
34 | await page.fill('input[name="password"]', password);
35 | await page.click('button[type="submit"]');
36 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:33:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
6) [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-84\traces\7ee68a35b274332ffb95-85c3570ebfdc58417151.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
46 | test('Inquiry page loads', async ({ page }) => {
47 | await page.goto(`${baseUrl}/admin/login`);
> 48 | await page.fill('input[name="username"]', username);
| ^
49 | await page.fill('input[name="password"]', password);
50 | await page.click('button[type="submit"]');
51 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:48:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
7) [Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-94\traces\7ee68a35b274332ffb95-2ac99765fb27ce9f3f94.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
61 | test('CRM pages load', async ({ page }) => {
62 | await page.goto(`${baseUrl}/admin/login`);
> 63 | await page.fill('input[name="username"]', username);
| ^
64 | await page.fill('input[name="password"]', password);
65 | await page.click('button[type="submit"]');
66 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:63:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
8) [Desktop Chrome] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('.admin-page-hero')
29 | // 2. 대시보드로 이동 및 최초 로드 대기
30 | await page.goto(`${baseUrl}/admin/dashboard`);
> 31 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 30_000 });
| ^
32 |
33 | // 3. 각 디바이스별로 뷰포트를 변경하며 검증 (새로고침 없이 초고속 검증)
34 | for (const device of deviceTests) {
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:31:52
Error: ENOENT: no such file or directory, unlink 'C:\Temp\taxbaik\test-results\.playwright-artifacts-4\95c7aa3db3bf4bb6b7bed3223906b6bc.zip'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-Desktop-Chrome\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-Desktop-Chrome\error-context.md
9) [Desktop Chrome] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('.admin-page-hero')
89 | await page.setViewportSize({ width: 375, height: 667 });
90 | await page.goto(`${baseUrl}/admin/dashboard`);
> 91 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 30_000 });
| ^
92 |
93 | // 모바일에서는 메뉴 토글 버튼이 있어야 함
94 | const menuButton = page.locator('.admin-menu-button');
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:91:52
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-9\traces\da7c59ce61d93dc7813a-5d3f92e340e513b2029a.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
10) [Desktop Chrome] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile
TimeoutError: page.waitForSelector: Timeout 30000ms exceeded.
Call log:
 - waiting for locator('input[type="text"], textarea, .mud-input-base, .mud-field') to be visible
107 | await page.setViewportSize({ width: 480, height: 853 });
108 | await page.goto(`${baseUrl}/admin/faqs/create`);
> 109 | await page.waitForSelector('input[type="text"], textarea, .mud-input-base, .mud-field', { timeout: 30_000 });
| ^
110 |
111 | const inputs = page.locator('input[type="text"], textarea, .mud-input-base, .mud-field');
112 | const inputCount = await inputs.count();
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:109:16
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-19\traces\da7c59ce61d93dc7813a-c665baf9a8ce69347298.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
11) [Desktop Chrome] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('.admin-page-hero')
137 | await page.setViewportSize(viewport);
138 | await page.goto(`${baseUrl}/admin/dashboard`);
> 139 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 30_000 });
| ^
140 |
141 | const logoutButton = page.locator('a:has-text("로그아웃"), button:has-text("로그아웃")').first();
142 | if (await logoutButton.count() > 0) {
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:139:54
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-47\traces\da7c59ce61d93dc7813a-e31c551215937955df13.network'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
12) [Desktop Chrome] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages
Error: expect(locator).toBeVisible() failed
Locator: locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first()
Expected: visible
Timeout: 90000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first()
7 | await page.goto(`${baseUrl}/blog`);
8 | const firstPost = page.locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first();
> 9 | await expect(firstPost).toBeVisible();
| ^
10 | const detailHref = await firstPost.getAttribute('href');
11 | expect(detailHref).toMatch(/^\/taxbaik\/blog\/[a-z0-9-]+$/);
12 | const detailPath = detailHref?.replace('/taxbaik', '') ?? '/blog';
at C:\Temp\taxbaik\tests\e2e\blog-seo.spec.ts:9:29
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-7\traces\1d0d3a59ebe6e0e691d7-f1eeed31da0cb3feeeb9.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
13) [Desktop Chrome] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation
Error: page.evaluate: Error: login failed: 400 Bad Request
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at loginThroughAdminUi (C:\Temp\taxbaik\tests\e2e\helpers\admin-auth.ts:53:30)
at C:\Temp\taxbaik\tests\e2e\blog-validation.spec.ts:26:3
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-Desktop-Chrome\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-Desktop-Chrome\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
14) [Desktop Chrome] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list
Error: expect(locator).toBeVisible() failed
Locator: locator('.mud-main-content').getByText('문의 관리').first()
Expected: visible
Timeout: 20000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 20000ms
 - waiting for locator('.mud-main-content').getByText('문의 관리').first()
53 | await loginThroughAdminUi(page, baseUrl, username, password);
54 | await navigateInBlazor(page, `${baseUrl}/admin/inquiries`);
> 55 | await expect(page.locator('.mud-main-content').getByText('문의 관리').first()).toBeVisible({ timeout: 20_000 });
| ^
56 | });
57 |
58 | test('submitting the public Contact.cshtml form shows the success message', async ({ page }) => {
at C:\Temp\taxbaik\tests\e2e\contact-submit.spec.ts:55:80
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, copyfile 'C:\Temp\taxbaik\test-results\.playwright-artifacts-5\traces\78ff188543f551bce0b7-e47709be69cc4baa3d2f-recording3.network' -> 'C:\Temp\taxbaik\test-results\.playwright-artifacts-5\traces\78ff188543f551bce0b7-e47709be69cc4baa3d2f-recording3-pwnetcopy-1.network'
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-5\traces\78ff188543f551bce0b7-e47709be69cc4baa3d2f-recording2.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
15) [Desktop Chrome] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics ───────────
TimeoutError: page.waitForSelector: Timeout 5000ms exceeded.
Call log:
 - waiting for locator('.admin-page-hero') to be visible
11 |
12 | // Wait for page load
> 13 | await page.waitForSelector('.admin-page-hero', { timeout: 5000 });
| ^
14 | await page.waitForTimeout(2000);
15 |
16 | // Check for metric cards
at C:\Temp\taxbaik\tests\e2e\dashboard-check.spec.ts:13:14
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-8\traces\c9b49e87aa42da94a370-802a93cd4712550011f0.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\dashboard-check-check-dashboard-metrics-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\dashboard-check-check-dashboard-metrics-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\dashboard-check-check-dashboard-metrics-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\dashboard-check-check-dashboard-metrics-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
16) [Desktop Chrome] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly
Error: page.evaluate: Error: login failed: 400 Bad Request
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at loginThroughAdminUi (C:\Temp\taxbaik\tests\e2e\helpers\admin-auth.ts:53:30)
at C:\Temp\taxbaik\tests\e2e\full-admin-pages.spec.ts:10:3
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-12\traces\c1459fca16a225cd2316-605468f26201db88e3ec.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
17) [Desktop Chrome] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD
Error: expect(locator).toBeVisible() failed
Locator: locator('text=블로그 관리')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('text=블로그 관리')
39 | // 네비게이션 메뉴 확인
40 | const blogLink = page.locator('text=블로그 관리');
> 41 | await expect(blogLink).toBeVisible({ timeout: 30000 });
| ^
42 | console.log('✓ 블로그 관리 메뉴 표시');
43 |
44 | // 블로그 페이지로 이동
at C:\Temp\taxbaik\tests\e2e\full-user-flow.spec.ts:41:28
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-6\traces\c6681a4a350aa86369bc-01a4f5a81d4d00a3ba64-recording1.network'
Error: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-6\9eb7f8a50571f2f289f25779cc7f8e4b.zip'
Test timeout of 180000ms exceeded.
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-Desktop-Chrome\error-context.md
18) [Desktop Chrome] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links
Error: expect(locator).toBeVisible() failed
Locator: getByText('Detail-1783485611950', { exact: true }).first()
Expected: visible
Timeout: 90000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for getByText('Detail-1783485611950', { exact: true }).first()
37 |
38 | await expect(page).toHaveURL(/\/taxbaik\/admin\/inquiries\/\d+$/);
> 39 | await expect(page.getByText(name, { exact: true }).first()).toBeVisible();
| ^
40 | await expect(page.getByText(phone, { exact: true }).first()).toBeVisible();
41 | await expect(page.getByText(message, { exact: true }).first()).toBeVisible();
42 | await expect(page.getByRole('button', { name: '신규' })).toBeVisible();
at C:\Temp\taxbaik\tests\e2e\inquiry-detail.spec.ts:39:65
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, copyfile 'C:\Temp\taxbaik\test-results\.playwright-artifacts-10\traces\0b7ed30a9e279ee14eeb-91add6684d79bcdc7c66-recording1.network' -> 'C:\Temp\taxbaik\test-results\.playwright-artifacts-10\traces\0b7ed30a9e279ee14eeb-91add6684d79bcdc7c66-recording1-pwnetcopy-1.network'
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-10\traces\0b7ed30a9e279ee14eeb-91add6684d79bcdc7c66.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-Desktop-Chrome\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
19) [Desktop Chrome] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs
Error: expect(received).toContain(expected) // indexOf
Expected substring: "name=\"username\""
Received string: "<!DOCTYPE html>·
<html lang=\"ko\">·
<head>·
 <meta charset=\"utf-8\" />·
 <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />·
 <title>관리자 로그인</title>·
 <meta name=\"description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta name=\"keywords\" content=\"백원숙 세무회계, 세무사, 사업자 기장, 양도소득세, 증여세, 상속세, 종합소득세, 절세 상담, 세무 대리\" />·······
 <!-- Open Graph / Facebook -->·
 <meta property=\"og:type\" content=\"website\" />·
 <meta property=\"og:title\" content=\"관리자 로그인\" />·
 <meta property=\"og:description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta property=\"og:image\" content=\"https://www.taxbaik.com/taxbaik/images/og-image.jpg\" />·
 <meta property=\"og:url\" content=\"https://www.taxbaik.com/taxbaik/\" />·······
 <!-- Twitter -->·
 <meta property=\"twitter:card\" content=\"summary_large_image\" />·
 <meta property=\"twitter:title\" content=\"관리자 로그인\" />·
 <meta property=\"twitter:description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta property=\"twitter:image\" content=\"https://www.taxbaik.com/taxbaik/images/og-image.jpg\" />···
 <!-- 검색엔진 등록용 소유권 인증 메타 태그 (발급받으신 토큰이 있으면 아래 content에 넣어 주시면 됩니다) -->·
 <!-- <meta name=\"naver-site-verification\" content=\"네이버_서치어드바이저_토큰_입력\" /> -->·
 <!-- <meta name=\"google-site-verification\" content=\"구글_서치콘솔_토큰_입력\" /> -->···
 <meta name=\"robots\" content=\"index, follow\" />·
 <meta name=\"theme-color\" content=\"#C89D6E\" />·
 <link rel=\"icon\" type=\"image/svg+xml\" href=\"/taxbaik/favicon.svg\" />·
 <link rel=\"alternate icon\" href=\"/taxbaik/favicon.ico\" />···
 <!-- RSS Feed -->·
 <link rel=\"alternate\" type=\"application/rss+xml\" title=\"백원숙 세무회계 블로그\" href=\"/taxbaik/rss.xml\" />·
 <link rel=\"alternate\" type=\"application/rss+xml\" title=\"TaxBaik Blog Feed\" href=\"/taxbaik/feed.xml\" />·
 <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />·
 <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />·
 <link rel=\"dns-prefetch\" href=\"https://cdn.jsdelivr.net\" />·
 <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;700&family=Outfit:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\" />·
 <link rel=\"canonical\" href=\"http://localhost:5001/taxbaik/admin/login\" />·
 <link href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css\" rel=\"stylesheet\" />·
 <link rel=\"stylesheet\" href=\"/taxbaik/css/site.css\" asp-append-version=\"true\" />···
 <!-- 구조화된 데이터 (JSON-LD Schema Markup) -->·
 <script type=\"application/ld+json\">·
 {·
 \"@context\": \"https://schema.org\",·
 \"@type\": \"ProfessionalService\",·
 \"name\": \"백원숙 세무회계\",·
 \"description\": \"사업자 기장, 부동산 양도세·증여세, 종합소득세 전문 상담 세무사\",·
 \"url\": \"https://www.taxbaik.com/taxbaik/\",·
 \"telephone\": \"010-4122-8268\",·
 \"email\": \"taxbaik5668@gmail.com\",·
 \"address\": {·
 \"@type\": \"PostalAddress\",·
 \"addressCountry\": \"KR\"·
 },·
 \"sameAs\": [·
 \"https://www.instagram.com/taxtory5668/\",·
 \"https://pf.kakao.com/_xoxchTX\"·
 ]·
 }·
 </script>···
 <!-- Google tag (gtag.js) -->·
 <script async src=\"https://www.googletagmanager.com/gtag/js?id=G-25KRKY45D7\"></script>·
 <script>·
 window.dataLayer = window.dataLayer || [];·
 function gtag(){dataLayer.push(arguments);}·
 gtag('js', new Date());···
 gtag('config', 'G-25KRKY45D7');·
 </script>·
</head>·
<body class=\"with-mobile-cta\" data-kakao-url=\"https://pf.kakao.com/_xoxchTX\">·
 <partial name=\"_Header\" />·
 <main role=\"main\" class=\"pb-5\">··········
<section class=\"container py-5\" style=\"max-width: 560px;\">
 <div class=\"card shadow-sm border-0\">
 <div class=\"card-body p-4 p-md-5\">
 <div class=\"mb-4\">
 <p class=\"text-uppercase text-muted small mb-1\">TaxBaik Admin</p>
 <h1 class=\"h3 fw-bold mb-2\">관리자 로그인</h1>
 <p class=\"text-muted mb-0\">로그인 후 대시보드와 관리자 기능을 이용할 수 있습니다.</p>
 </div>··
 <form id=\"admin-login-form\" method=\"post\" class=\"vstack gap-3\">
 <input name=\"__RequestVerificationToken\" type=\"hidden\" value=\"CfDJ8MSeutqIyfZKsHr5RAKz7bOtUgv0RtgWEhU3bXs-XyNKVTFnGf2Wk8_9_Yj7Gkjgw6VuDRexmEf7_jr75Lmw7Dt5CNnAGdK9UaskBOFNhiMEmOSjOZPmA0JyU9RwxbSCbGjpO0kbXTe182zIepDqCUc\" />
 <input type=\"hidden\" id=\"ReturnUrl\" name=\"ReturnUrl\" />·
 <div>
 <label class=\"form-label\" for=\"Username\">사용자명</label>
 <input class=\"form-control\" id=\"Username\" name=\"Username\" value=\"\" autocomplete=\"username\" />
 <span class=\"text-danger small\"></span>
 </div>·
 <div>
 <label class=\"form-label\" for=\"Password\">비밀번호</label>
 <input class=\"form-control\" id=\"Password\" name=\"Password\" type=\"password\" autocomplete=\"current-password\" />
 <span class=\"text-danger small\"></span>
 </div>·
 <div class=\"form-check\">
 <input class=\"form-check-input\" id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" checked=\"checked\" />
 <label class=\"form-check-label\" for=\"RememberMe\">로그인 상태 유지</label>
 </div>·
 <button class=\"btn btn-dark w-100\" id=\"admin-login-submit\" type=\"submit\">
 <span>로그인</span>
 </button>
 </form>·
 <p class=\"text-muted small mt-4 mb-0\">
 이 페이지는 서버 렌더링 기반입니다. 로그인 성공 후 관리자 웹앱으로 이동합니다.
 </p>
 </div>
 </div>
</section>···
 </main>·
 <footer class=\"bg-light border-top mt-5 py-5\">·
 <div class=\"container\">·
 <div class=\"row g-5\">·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">백원숙 세무회계</h6>·
 <p class=\"small text-muted\">·
 사업자 기장, 부동산 양도세·증여세,<br />·
 종합소득세 전문 상담·
 </p>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">메뉴</h6>·
 <ul class=\"list-unstyled small\">·
 <li class=\"mb-2\"><a href=\"/taxbaik/\" class=\"text-decoration-none text-muted\">홈</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/about\" class=\"text-decoration-none text-muted\">세무사 소개</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/services\" class=\"text-decoration-none text-muted\">전문 서비스</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/blog\" class=\"text-decoration-none text-muted\">세무 정보</a></li>·
 <li><a href=\"/taxbaik/contact\" class=\"text-decoration-none text-muted\">상담 신청</a></li>·
 </ul>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">연락처</h6>·
 <p class=\"small\">·
 📞 <a href=\"tel:010-4122-8268\" class=\"text-decoration-none text-muted\">010-4122-8268</a><br />·
 📧 <a href=\"mailto:taxbaik5668@gmail.com\" class=\"text-decoration-none text-muted\">taxbaik5668@gmail.com</a>·
 </p>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">채널</h6>·
 <p class=\"small\">·
 <a href=\"https://pf.kakao.com/_xoxchTX\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn btn-sm btn-warning me-2\">카카오톡</a>·
 <a href=\"https://www.instagram.com/taxtory5668/\" target=\"_blank\" class=\"btn btn-sm btn-outline-secondary\">Instagram</a>·
 </p>·
 </div>·
 </div>·
 <hr class=\"my-4\" />·
 <div class=\"text-center small text-muted\">·
 <p>© 2026 백원숙 세무회계. All rights reserved.</p>·
 <div class=\"mb-2\">·
 <a href=\"/taxbaik/privacy\" class=\"text-decoration-none text-muted me-2\">개인정보처리방침</a>·
 <span class=\"text-muted\">|</span>·
 <a href=\"/taxbaik/terms\" class=\"text-decoration-none text-muted ms-2 me-2\">이용약관</a>·
 <span class=\"text-muted\">|</span>·
 </div>·
 <div class=\"mt-2 text-muted\" style=\"font-size: 0.75rem; opacity: 0.6;\">·
 vunknown · unknown·
 </div>·
 </div>·
 </div>·
 </footer>···
 <!-- Mobile Fixed CTA -->·
 <div class=\"mobile-cta-bar d-lg-none\">·
 <a href=\"https://pf.kakao.com/_xoxchTX\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn-kakao-mobile\">·
 💬 카카오 상담하기·
 </a>·
 </div>···
 <script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js\" defer></script>·
 <script src=\"/taxbaik/js/site.js\" asp-append-version=\"true\" defer></script>·······
</body>·
</html>·
"
16 |
17 | const html = await response.text();
> 18 | expect(html).toContain('name="username"');
| ^
19 | expect(html).toContain('name="password"');
20 | expect(html).toContain('admin-login-form');
21 | });
at C:\Temp\taxbaik\tests\e2e\login-test.spec.ts:18:16
Error: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-11\25613ef886db619a18a5e8eb23c23a6c.zip'
Test timeout of 180000ms exceeded.
20) [Desktop Chrome] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
Error: expect(locator).toBeVisible() failed
Locator: getByRole('link', { name: /상담 신청|무료 상담 신청/ })
Expected: visible
Error: strict mode violation: getByRole('link', { name: /상담 신청|무료 상담 신청/ }) resolved to 2 elements:
1) <a href="/taxbaik/contact" class="btn btn-primary btn-lg">상담 신청하기</a> aka getByRole('link', { name: '상담 신청하기' })
2) <a href="/taxbaik/contact" class="text-decoration-none text-muted">상담 신청</a> aka getByRole('link', { name: '상담 신청', exact: true })
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for getByRole('link', { name: /상담 신청|무료 상담 신청/ })
10 | await expect(page).not.toHaveTitle(/관리자/);
11 | await expect(page.getByRole('heading', { name: /세금과 자산|백원숙 세무회계/ })).toBeVisible();
> 12 | await expect(page.getByRole('link', { name: /상담 신청|무료 상담 신청/ })).toBeVisible();
| ^
13 | await expect(page.locator('meta[name="description"]')).toHaveAttribute('content', /사업자 기장|부동산|종합소득세/);
14 | await expect(page.getByRole('heading', { name: /상담 과정/ })).toBeVisible();
15 |
at C:\Temp\taxbaik\tests\e2e\public-smoke.spec.ts:12:70
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Desktop-Chrome\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Desktop-Chrome\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Desktop-Chrome\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Desktop-Chrome\trace.zip
Usage:
npx playwright show-trace test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Desktop-Chrome\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
21) [iPhone 12] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
22) [iPhone 12] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
23) [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
24) [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
25) [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
26) [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
27) [iPhone 12] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
28) [iPhone 12] tests\e2e\admin-password-change.spec.ts:10:7 admin password change changes password through the real admin UI
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-password-change-admi-f2a6b-d-through-the-real-admin-UI-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-password-change-admi-f2a6b-d-through-the-real-admin-UI-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
29) [iPhone 12] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
30) [iPhone 12] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
31) [iPhone 12] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
32) [iPhone 12] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
33) [iPhone 12] tests\e2e\admin-smoke.spec.ts:10:7 admin smoke @smoke logs in and lands on dashboard without circuit errors
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-smoke-admin-smoke-sm-fb1b2-oard-without-circuit-errors-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\admin-smoke-admin-smoke-sm-fb1b2-oard-without-circuit-errors-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
34) [iPhone 12] tests\e2e\blog-crud.spec.ts:9:7 blog CRUD operations complete blog creation, read, update, delete flow
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\blog-crud-blog-CRUD-operat-e05f5-ion-read-update-delete-flow-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\blog-crud-blog-CRUD-operat-e05f5-ion-read-update-delete-flow-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
35) [iPhone 12] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
36) [iPhone 12] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
37) [iPhone 12] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
38) [iPhone 12] tests\e2e\contact-submit.spec.ts:58:7 contact submit submitting the public Contact.cshtml form shows the success message
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-024b3-m-shows-the-success-message-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\contact-submit-contact-sub-024b3-m-shows-the-success-message-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
39) [iPhone 12] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics ────────────────
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\dashboard-check-check-dashboard-metrics-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\dashboard-check-check-dashboard-metrics-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
40) [iPhone 12] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
41) [iPhone 12] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
42) [iPhone 12] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
43) [iPhone 12] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs
Error: expect(received).toContain(expected) // indexOf
Expected substring: "name=\"username\""
Received string: "<!DOCTYPE html>·
<html lang=\"ko\">·
<head>·
 <meta charset=\"utf-8\" />·
 <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />·
 <title>관리자 로그인</title>·
 <meta name=\"description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta name=\"keywords\" content=\"백원숙 세무회계, 세무사, 사업자 기장, 양도소득세, 증여세, 상속세, 종합소득세, 절세 상담, 세무 대리\" />·······
 <!-- Open Graph / Facebook -->·
 <meta property=\"og:type\" content=\"website\" />·
 <meta property=\"og:title\" content=\"관리자 로그인\" />·
 <meta property=\"og:description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta property=\"og:image\" content=\"https://www.taxbaik.com/taxbaik/images/og-image.jpg\" />·
 <meta property=\"og:url\" content=\"https://www.taxbaik.com/taxbaik/\" />·······
 <!-- Twitter -->·
 <meta property=\"twitter:card\" content=\"summary_large_image\" />·
 <meta property=\"twitter:title\" content=\"관리자 로그인\" />·
 <meta property=\"twitter:description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta property=\"twitter:image\" content=\"https://www.taxbaik.com/taxbaik/images/og-image.jpg\" />···
 <!-- 검색엔진 등록용 소유권 인증 메타 태그 (발급받으신 토큰이 있으면 아래 content에 넣어 주시면 됩니다) -->·
 <!-- <meta name=\"naver-site-verification\" content=\"네이버_서치어드바이저_토큰_입력\" /> -->·
 <!-- <meta name=\"google-site-verification\" content=\"구글_서치콘솔_토큰_입력\" /> -->···
 <meta name=\"robots\" content=\"index, follow\" />·
 <meta name=\"theme-color\" content=\"#C89D6E\" />·
 <link rel=\"icon\" type=\"image/svg+xml\" href=\"/taxbaik/favicon.svg\" />·
 <link rel=\"alternate icon\" href=\"/taxbaik/favicon.ico\" />···
 <!-- RSS Feed -->·
 <link rel=\"alternate\" type=\"application/rss+xml\" title=\"백원숙 세무회계 블로그\" href=\"/taxbaik/rss.xml\" />·
 <link rel=\"alternate\" type=\"application/rss+xml\" title=\"TaxBaik Blog Feed\" href=\"/taxbaik/feed.xml\" />·
 <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />·
 <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />·
 <link rel=\"dns-prefetch\" href=\"https://cdn.jsdelivr.net\" />·
 <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;700&family=Outfit:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\" />·
 <link rel=\"canonical\" href=\"http://localhost:5001/taxbaik/admin/login\" />·
 <link href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css\" rel=\"stylesheet\" />·
 <link rel=\"stylesheet\" href=\"/taxbaik/css/site.css\" asp-append-version=\"true\" />···
 <!-- 구조화된 데이터 (JSON-LD Schema Markup) -->·
 <script type=\"application/ld+json\">·
 {·
 \"@context\": \"https://schema.org\",·
 \"@type\": \"ProfessionalService\",·
 \"name\": \"백원숙 세무회계\",·
 \"description\": \"사업자 기장, 부동산 양도세·증여세, 종합소득세 전문 상담 세무사\",·
 \"url\": \"https://www.taxbaik.com/taxbaik/\",·
 \"telephone\": \"010-4122-8268\",·
 \"email\": \"taxbaik5668@gmail.com\",·
 \"address\": {·
 \"@type\": \"PostalAddress\",·
 \"addressCountry\": \"KR\"·
 },·
 \"sameAs\": [·
 \"https://www.instagram.com/taxtory5668/\",·
 \"https://pf.kakao.com/_xoxchTX\"·
 ]·
 }·
 </script>···
 <!-- Google tag (gtag.js) -->·
 <script async src=\"https://www.googletagmanager.com/gtag/js?id=G-25KRKY45D7\"></script>·
 <script>·
 window.dataLayer = window.dataLayer || [];·
 function gtag(){dataLayer.push(arguments);}·
 gtag('js', new Date());···
 gtag('config', 'G-25KRKY45D7');·
 </script>·
</head>·
<body class=\"with-mobile-cta\" data-kakao-url=\"https://pf.kakao.com/_xoxchTX\">·
 <partial name=\"_Header\" />·
 <main role=\"main\" class=\"pb-5\">··········
<section class=\"container py-5\" style=\"max-width: 560px;\">
 <div class=\"card shadow-sm border-0\">
 <div class=\"card-body p-4 p-md-5\">
 <div class=\"mb-4\">
 <p class=\"text-uppercase text-muted small mb-1\">TaxBaik Admin</p>
 <h1 class=\"h3 fw-bold mb-2\">관리자 로그인</h1>
 <p class=\"text-muted mb-0\">로그인 후 대시보드와 관리자 기능을 이용할 수 있습니다.</p>
 </div>··
 <form id=\"admin-login-form\" method=\"post\" class=\"vstack gap-3\">
 <input name=\"__RequestVerificationToken\" type=\"hidden\" value=\"CfDJ8MSeutqIyfZKsHr5RAKz7bNc5XRjCceyOBgn9zkdJXBWN57npr2O_DegUkJZiDxScNY07J0b6TMmz_daklUQkcRIBWIa46HwrOOur4GDDgMm992sW7JLD_iBKwHok0w-HaCkhXENXvuS8sv_gkpCyiQ\" />
 <input type=\"hidden\" id=\"ReturnUrl\" name=\"ReturnUrl\" />·
 <div>
 <label class=\"form-label\" for=\"Username\">사용자명</label>
 <input class=\"form-control\" id=\"Username\" name=\"Username\" value=\"\" autocomplete=\"username\" />
 <span class=\"text-danger small\"></span>
 </div>·
 <div>
 <label class=\"form-label\" for=\"Password\">비밀번호</label>
 <input class=\"form-control\" id=\"Password\" name=\"Password\" type=\"password\" autocomplete=\"current-password\" />
 <span class=\"text-danger small\"></span>
 </div>·
 <div class=\"form-check\">
 <input class=\"form-check-input\" id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" checked=\"checked\" />
 <label class=\"form-check-label\" for=\"RememberMe\">로그인 상태 유지</label>
 </div>·
 <button class=\"btn btn-dark w-100\" id=\"admin-login-submit\" type=\"submit\">
 <span>로그인</span>
 </button>
 </form>·
 <p class=\"text-muted small mt-4 mb-0\">
 이 페이지는 서버 렌더링 기반입니다. 로그인 성공 후 관리자 웹앱으로 이동합니다.
 </p>
 </div>
 </div>
</section>···
 </main>·
 <footer class=\"bg-light border-top mt-5 py-5\">·
 <div class=\"container\">·
 <div class=\"row g-5\">·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">백원숙 세무회계</h6>·
 <p class=\"small text-muted\">·
 사업자 기장, 부동산 양도세·증여세,<br />·
 종합소득세 전문 상담·
 </p>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">메뉴</h6>·
 <ul class=\"list-unstyled small\">·
 <li class=\"mb-2\"><a href=\"/taxbaik/\" class=\"text-decoration-none text-muted\">홈</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/about\" class=\"text-decoration-none text-muted\">세무사 소개</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/services\" class=\"text-decoration-none text-muted\">전문 서비스</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/blog\" class=\"text-decoration-none text-muted\">세무 정보</a></li>·
 <li><a href=\"/taxbaik/contact\" class=\"text-decoration-none text-muted\">상담 신청</a></li>·
 </ul>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">연락처</h6>·
 <p class=\"small\">·
 📞 <a href=\"tel:010-4122-8268\" class=\"text-decoration-none text-muted\">010-4122-8268</a><br />·
 📧 <a href=\"mailto:taxbaik5668@gmail.com\" class=\"text-decoration-none text-muted\">taxbaik5668@gmail.com</a>·
 </p>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">채널</h6>·
 <p class=\"small\">·
 <a href=\"https://pf.kakao.com/_xoxchTX\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn btn-sm btn-warning me-2\">카카오톡</a>·
 <a href=\"https://www.instagram.com/taxtory5668/\" target=\"_blank\" class=\"btn btn-sm btn-outline-secondary\">Instagram</a>·
 </p>·
 </div>·
 </div>·
 <hr class=\"my-4\" />·
 <div class=\"text-center small text-muted\">·
 <p>© 2026 백원숙 세무회계. All rights reserved.</p>·
 <div class=\"mb-2\">·
 <a href=\"/taxbaik/privacy\" class=\"text-decoration-none text-muted me-2\">개인정보처리방침</a>·
 <span class=\"text-muted\">|</span>·
 <a href=\"/taxbaik/terms\" class=\"text-decoration-none text-muted ms-2 me-2\">이용약관</a>·
 <span class=\"text-muted\">|</span>·
 </div>·
 <div class=\"mt-2 text-muted\" style=\"font-size: 0.75rem; opacity: 0.6;\">·
 vunknown · unknown·
 </div>·
 </div>·
 </div>·
 </footer>···
 <!-- Mobile Fixed CTA -->·
 <div class=\"mobile-cta-bar d-lg-none\">·
 <a href=\"https://pf.kakao.com/_xoxchTX\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn-kakao-mobile\">·
 💬 카카오 상담하기·
 </a>·
 </div>···
 <script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js\" defer></script>·
 <script src=\"/taxbaik/js/site.js\" asp-append-version=\"true\" defer></script>·······
</body>·
</html>·
"
16 |
17 | const html = await response.text();
> 18 | expect(html).toContain('name="username"');
| ^
19 | expect(html).toContain('name="password"');
20 | expect(html).toContain('admin-login-form');
21 | });
at C:\Temp\taxbaik\tests\e2e\login-test.spec.ts:18:16
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\login-test-Admin-Login-Pag-9c823-ins-the-form-before-JS-runs-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\login-test-Admin-Login-Pag-9c823-ins-the-form-before-JS-runs-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
44) [iPhone 12] tests\e2e\login-test.spec.ts:23:5 Admin Login Page - Full Flow Test ──────────
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\login-test-Admin-Login-Page---Full-Flow-Test-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\login-test-Admin-Login-Page---Full-Flow-Test-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
45) [iPhone 12] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
46) [iPhone 12] tests\e2e\route-isolation.spec.ts:6:7 route isolation public home does not boot the admin app
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\route-isolation-route-isol-340d6-does-not-boot-the-admin-app-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\route-isolation-route-isol-340d6-does-not-boot-the-admin-app-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
47) [iPhone 12] tests\e2e\route-isolation.spec.ts:14:7 route isolation admin login boots the admin app under the admin base path
Error: browserType.launch: Executable doesn't exist at C:\Users\kjh20\AppData\Local\ms-playwright\webkit-2227\Playwright.exe
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\route-isolation-route-isol-5a61e-p-under-the-admin-base-path-iPhone-12\trace.zip
Usage:
npx playwright show-trace test-results\route-isolation-route-isol-5a61e-p-under-the-admin-base-path-iPhone-12\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
48) [iPad Pro] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button
Error: expect(locator).toContainText(expected) failed
Locator: locator('body')
Timeout: 12000ms
- Expected substring - 1
+ Received string + 40
- 세무 프로필
+
+  
+ Menu
+ TaxBaik
+ 세무회계 관리 대시보드
+ 공개 사이트
+ 로그아웃
+
+ T
+ TaxBaik
+ 세무 운영 콘솔
+
+ 개요<path d="M0 0h24v24H0z" fill="none"/><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/>
+ 대시보드
+
+ 공개 사이트
+ 로그아웃요청한 페이지를 찾을 수 없습니다.
+
+  
+
+  
+  
+ 연결 재설정 중...
+ 새로운 버전으로 업데이트되었습니다.
+ 자동으로 페이지를 새로고침합니다. 잠시만 기다려주세요.
+  
+  
+
+  
+ 관리자 화면을 불러오는 중 오류가 발생했습니다. 브라우저 콘솔 또는 서버 client-logs를 확인하세요.
+ 새로고침
+ 닫기
+  
+
+  
+  
+  
+
+
+
Call log:
 - Expect "toContainText" with timeout 12000ms
 - waiting for locator('body')
 15 × locator resolved to <body>…</body>
 - unexpected value "
 
 Menu
 TaxBaik
 세무회계 관리 대시보드
 공개 사이트
 로그아웃

 T
 TaxBaik
 세무 운영 콘솔

 개요<path d="M0 0h24v24H0z" fill="none"/><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/>
 대시보드

 공개 사이트
 로그아웃요청한 페이지를 찾을 수 없습니다.

 

 
 
 연결 재설정 중...
 새로운 버전으로 업데이트되었습니다.
 자동으로 페이지를 새로고침합니다. 잠시만 기다려주세요.
 
 

 
 관리자 화면을 불러오는 중 오류가 발생했습니다. 브라우저 콘솔 또는 서버 client-logs를 확인하세요.
 새로고침
 닫기
 

 
 
 


"
at helpers\admin-auth.ts:98
96 | export async function waitForAdminSection(page: Page, headingText: string) {
97 | const hero = page.locator('.admin-page-hero');
> 98 | await expect(page.locator('body')).toContainText(headingText, { timeout: Wait.page });
| ^
99 | await expect(hero).toBeVisible({ timeout: Wait.page });
100 | await expect(hero).toContainText(headingText, { timeout: Wait.page });
101 | await expect(page.getByRole('heading', { name: headingText, exact: true })).toBeVisible({ timeout: Wait.page });
at waitForAdminSection (C:\Temp\taxbaik\tests\e2e\helpers\admin-auth.ts:98:38)
at C:\Temp\taxbaik\tests\e2e\admin-crm-pages.spec.ts:21:30
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-43\traces\c44881337532f92971da-588468c755f68dadd045.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
49) [iPad Pro] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 60000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 60000ms
 - waiting for locator('.admin-page-hero')
75 | await expect(page).toHaveURL(/\/taxbaik\/admin\/dashboard$/, { timeout: 20_000 });
76 | // WASM 부팅에 시간이 걸릴 수 있으므로 더 긴 타임아웃 사용
> 77 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 60_000 });
| ^
78 | await expect(page.locator('.admin-page-hero')).toContainText('대시보드');
79 | await expect(page.getByRole('link', { name: /로그아웃/ })).toBeVisible({ timeout: 30_000 });
80 | expect(consoleErrors, 'browser console/page errors').toEqual([]);
at C:\Temp\taxbaik\tests\e2e\admin-login.spec.ts:77:52
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-45\traces\481c7578028bb96ee688-8f0bec4d85412426b288.network'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
50) [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads
Error: expect(locator).toBeVisible() failed
Locator: locator('input[placeholder*="사용자"]')
Expected: visible
Timeout: 90000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for locator('input[placeholder*="사용자"]')
11 | await page.goto(`${baseUrl}/admin/login`);
12 | await expect(page.locator('text=관리자 로그인')).toBeVisible();
> 13 | await expect(page.locator('input[placeholder*="사용자"]')).toBeVisible();
| ^
14 | });
15 |
16 | test('Dashboard page loads', async ({ page }) => {
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:13:61
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-46\traces\7ee68a35b274332ffb95-4ba0b267673485ea84d0.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
51) [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-55\traces\7ee68a35b274332ffb95-5ff12d009707f3d213d3.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
16 | test('Dashboard page loads', async ({ page }) => {
17 | await page.goto(`${baseUrl}/admin/login`);
> 18 | await page.fill('input[name="username"]', username);
| ^
19 | await page.fill('input[name="password"]', password);
20 | await page.click('button[type="submit"]');
21 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:18:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
52) [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-77\traces\7ee68a35b274332ffb95-18215b5101d56ed31536.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
31 | test('Blog page loads', async ({ page }) => {
32 | await page.goto(`${baseUrl}/admin/login`);
> 33 | await page.fill('input[name="username"]', username);
| ^
34 | await page.fill('input[name="password"]', password);
35 | await page.click('button[type="submit"]');
36 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:33:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
53) [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-92\traces\7ee68a35b274332ffb95-0f4909ddc2aec6955efd.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
46 | test('Inquiry page loads', async ({ page }) => {
47 | await page.goto(`${baseUrl}/admin/login`);
> 48 | await page.fill('input[name="username"]', username);
| ^
49 | await page.fill('input[name="password"]', password);
50 | await page.click('button[type="submit"]');
51 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:48:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
54) [iPad Pro] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-96\traces\7ee68a35b274332ffb95-40a270058bd2b8113462.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
61 | test('CRM pages load', async ({ page }) => {
62 | await page.goto(`${baseUrl}/admin/login`);
> 63 | await page.fill('input[name="username"]', username);
| ^
64 | await page.fill('input[name="password"]', password);
65 | await page.click('button[type="submit"]');
66 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:63:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
55) [iPad Pro] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('.admin-page-hero')
29 | // 2. 대시보드로 이동 및 최초 로드 대기
30 | await page.goto(`${baseUrl}/admin/dashboard`);
> 31 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 30_000 });
| ^
32 |
33 | // 3. 각 디바이스별로 뷰포트를 변경하며 검증 (새로고침 없이 초고속 검증)
34 | for (const device of deviceTests) {
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:31:52
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-48\traces\da7c59ce61d93dc7813a-770409b9fcdf90daf161-recording2.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
56) [iPad Pro] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('.admin-page-hero')
89 | await page.setViewportSize({ width: 375, height: 667 });
90 | await page.goto(`${baseUrl}/admin/dashboard`);
> 91 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 30_000 });
| ^
92 |
93 | // 모바일에서는 메뉴 토글 버튼이 있어야 함
94 | const menuButton = page.locator('.admin-menu-button');
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:91:52
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-51\traces\da7c59ce61d93dc7813a-eaa75fcdf9efb149dd19.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
57) [iPad Pro] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile
TimeoutError: page.waitForSelector: Timeout 30000ms exceeded.
Call log:
 - waiting for locator('input[type="text"], textarea, .mud-input-base, .mud-field') to be visible
107 | await page.setViewportSize({ width: 480, height: 853 });
108 | await page.goto(`${baseUrl}/admin/faqs/create`);
> 109 | await page.waitForSelector('input[type="text"], textarea, .mud-input-base, .mud-field', { timeout: 30_000 });
| ^
110 |
111 | const inputs = page.locator('input[type="text"], textarea, .mud-input-base, .mud-field');
112 | const inputCount = await inputs.count();
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:109:16
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-54\traces\da7c59ce61d93dc7813a-886aa013d83fc75561eb.network'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
58) [iPad Pro] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('.admin-page-hero')
137 | await page.setViewportSize(viewport);
138 | await page.goto(`${baseUrl}/admin/dashboard`);
> 139 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 30_000 });
| ^
140 |
141 | const logoutButton = page.locator('a:has-text("로그아웃"), button:has-text("로그아웃")').first();
142 | if (await logoutButton.count() > 0) {
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:139:54
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-60\traces\da7c59ce61d93dc7813a-436330bb345d3c6896ba.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
59) [iPad Pro] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages
Error: expect(locator).toBeVisible() failed
Locator: locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first()
Expected: visible
Timeout: 90000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first()
7 | await page.goto(`${baseUrl}/blog`);
8 | const firstPost = page.locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first();
> 9 | await expect(firstPost).toBeVisible();
| ^
10 | const detailHref = await firstPost.getAttribute('href');
11 | expect(detailHref).toMatch(/^\/taxbaik\/blog\/[a-z0-9-]+$/);
12 | const detailPath = detailHref?.replace('/taxbaik', '') ?? '/blog';
at C:\Temp\taxbaik\tests\e2e\blog-seo.spec.ts:9:29
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-50\traces\1d0d3a59ebe6e0e691d7-22052e60a47249096571.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
60) [iPad Pro] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation
Error: page.evaluate: Error: login failed: 400 Bad Request
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at loginThroughAdminUi (C:\Temp\taxbaik\tests\e2e\helpers\admin-auth.ts:53:30)
at C:\Temp\taxbaik\tests\e2e\blog-validation.spec.ts:26:3
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-52\traces\ab7c3855fc28a1b2454e-6eb3ad0a4da223cfb76a.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
61) [iPad Pro] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list
Error: expect(locator).toBeVisible() failed
Locator: locator('.mud-main-content').getByText('문의 관리').first()
Expected: visible
Timeout: 20000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 20000ms
 - waiting for locator('.mud-main-content').getByText('문의 관리').first()
53 | await loginThroughAdminUi(page, baseUrl, username, password);
54 | await navigateInBlazor(page, `${baseUrl}/admin/inquiries`);
> 55 | await expect(page.locator('.mud-main-content').getByText('문의 관리').first()).toBeVisible({ timeout: 20_000 });
| ^
56 | });
57 |
58 | test('submitting the public Contact.cshtml form shows the success message', async ({ page }) => {
at C:\Temp\taxbaik\tests\e2e\contact-submit.spec.ts:55:80
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, copyfile 'C:\Temp\taxbaik\test-results\.playwright-artifacts-49\traces\78ff188543f551bce0b7-23296404445e8a403091-recording4.network' -> 'C:\Temp\taxbaik\test-results\.playwright-artifacts-49\traces\78ff188543f551bce0b7-23296404445e8a403091-recording4-pwnetcopy-1.network'
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, mkdir 'C:\Temp\taxbaik\test-results\.playwright-artifacts-49\traces'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
62) [iPad Pro] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics ─────────────────
TimeoutError: page.waitForSelector: Timeout 5000ms exceeded.
Call log:
 - waiting for locator('.admin-page-hero') to be visible
11 |
12 | // Wait for page load
> 13 | await page.waitForSelector('.admin-page-hero', { timeout: 5000 });
| ^
14 | await page.waitForTimeout(2000);
15 |
16 | // Check for metric cards
at C:\Temp\taxbaik\tests\e2e\dashboard-check.spec.ts:13:14
Error: ENOENT: no such file or directory, unlink 'C:\Temp\taxbaik\test-results\.playwright-artifacts-53\a86f329d9a4c22b94c4b3927995dd73d.zip'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\dashboard-check-check-dashboard-metrics-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\dashboard-check-check-dashboard-metrics-iPad-Pro\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\dashboard-check-check-dashboard-metrics-iPad-Pro\error-context.md
63) [iPad Pro] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly
Error: page.evaluate: Error: login failed: 400 Bad Request
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at loginThroughAdminUi (C:\Temp\taxbaik\tests\e2e\helpers\admin-auth.ts:53:30)
at C:\Temp\taxbaik\tests\e2e\full-admin-pages.spec.ts:10:3
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-iPad-Pro\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-iPad-Pro\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
64) [iPad Pro] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD
Error: expect(locator).toBeVisible() failed
Locator: locator('text=블로그 관리')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('text=블로그 관리')
39 | // 네비게이션 메뉴 확인
40 | const blogLink = page.locator('text=블로그 관리');
> 41 | await expect(blogLink).toBeVisible({ timeout: 30000 });
| ^
42 | console.log('✓ 블로그 관리 메뉴 표시');
43 |
44 | // 블로그 페이지로 이동
at C:\Temp\taxbaik\tests\e2e\full-user-flow.spec.ts:41:28
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-58\traces\c6681a4a350aa86369bc-70d432ea5f95b6ea8f74.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
65) [iPad Pro] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links
Error: expect(locator).toBeVisible() failed
Locator: getByText('Detail-1783485797354', { exact: true }).first()
Expected: visible
Timeout: 90000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for getByText('Detail-1783485797354', { exact: true }).first()
37 |
38 | await expect(page).toHaveURL(/\/taxbaik\/admin\/inquiries\/\d+$/);
> 39 | await expect(page.getByText(name, { exact: true }).first()).toBeVisible();
| ^
40 | await expect(page.getByText(phone, { exact: true }).first()).toBeVisible();
41 | await expect(page.getByText(message, { exact: true }).first()).toBeVisible();
42 | await expect(page.getByRole('button', { name: '신규' })).toBeVisible();
at C:\Temp\taxbaik\tests\e2e\inquiry-detail.spec.ts:39:65
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, copyfile 'C:\Temp\taxbaik\test-results\.playwright-artifacts-57\traces\0b7ed30a9e279ee14eeb-d807baf4e400acc7b693-recording2.network' -> 'C:\Temp\taxbaik\test-results\.playwright-artifacts-57\traces\0b7ed30a9e279ee14eeb-d807baf4e400acc7b693-recording2-pwnetcopy-1.network'
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-57\traces\0b7ed30a9e279ee14eeb-d807baf4e400acc7b693-recording1.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-iPad-Pro\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
66) [iPad Pro] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs
Error: expect(received).toContain(expected) // indexOf
Expected substring: "name=\"username\""
Received string: "<!DOCTYPE html>·
<html lang=\"ko\">·
<head>·
 <meta charset=\"utf-8\" />·
 <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />·
 <title>관리자 로그인</title>·
 <meta name=\"description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta name=\"keywords\" content=\"백원숙 세무회계, 세무사, 사업자 기장, 양도소득세, 증여세, 상속세, 종합소득세, 절세 상담, 세무 대리\" />·······
 <!-- Open Graph / Facebook -->·
 <meta property=\"og:type\" content=\"website\" />·
 <meta property=\"og:title\" content=\"관리자 로그인\" />·
 <meta property=\"og:description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta property=\"og:image\" content=\"https://www.taxbaik.com/taxbaik/images/og-image.jpg\" />·
 <meta property=\"og:url\" content=\"https://www.taxbaik.com/taxbaik/\" />·······
 <!-- Twitter -->·
 <meta property=\"twitter:card\" content=\"summary_large_image\" />·
 <meta property=\"twitter:title\" content=\"관리자 로그인\" />·
 <meta property=\"twitter:description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta property=\"twitter:image\" content=\"https://www.taxbaik.com/taxbaik/images/og-image.jpg\" />···
 <!-- 검색엔진 등록용 소유권 인증 메타 태그 (발급받으신 토큰이 있으면 아래 content에 넣어 주시면 됩니다) -->·
 <!-- <meta name=\"naver-site-verification\" content=\"네이버_서치어드바이저_토큰_입력\" /> -->·
 <!-- <meta name=\"google-site-verification\" content=\"구글_서치콘솔_토큰_입력\" /> -->···
 <meta name=\"robots\" content=\"index, follow\" />·
 <meta name=\"theme-color\" content=\"#C89D6E\" />·
 <link rel=\"icon\" type=\"image/svg+xml\" href=\"/taxbaik/favicon.svg\" />·
 <link rel=\"alternate icon\" href=\"/taxbaik/favicon.ico\" />···
 <!-- RSS Feed -->·
 <link rel=\"alternate\" type=\"application/rss+xml\" title=\"백원숙 세무회계 블로그\" href=\"/taxbaik/rss.xml\" />·
 <link rel=\"alternate\" type=\"application/rss+xml\" title=\"TaxBaik Blog Feed\" href=\"/taxbaik/feed.xml\" />·
 <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />·
 <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />·
 <link rel=\"dns-prefetch\" href=\"https://cdn.jsdelivr.net\" />·
 <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;700&family=Outfit:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\" />·
 <link rel=\"canonical\" href=\"http://localhost:5001/taxbaik/admin/login\" />·
 <link href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css\" rel=\"stylesheet\" />·
 <link rel=\"stylesheet\" href=\"/taxbaik/css/site.css\" asp-append-version=\"true\" />···
 <!-- 구조화된 데이터 (JSON-LD Schema Markup) -->·
 <script type=\"application/ld+json\">·
 {·
 \"@context\": \"https://schema.org\",·
 \"@type\": \"ProfessionalService\",·
 \"name\": \"백원숙 세무회계\",·
 \"description\": \"사업자 기장, 부동산 양도세·증여세, 종합소득세 전문 상담 세무사\",·
 \"url\": \"https://www.taxbaik.com/taxbaik/\",·
 \"telephone\": \"010-4122-8268\",·
 \"email\": \"taxbaik5668@gmail.com\",·
 \"address\": {·
 \"@type\": \"PostalAddress\",·
 \"addressCountry\": \"KR\"·
 },·
 \"sameAs\": [·
 \"https://www.instagram.com/taxtory5668/\",·
 \"https://pf.kakao.com/_xoxchTX\"·
 ]·
 }·
 </script>···
 <!-- Google tag (gtag.js) -->·
 <script async src=\"https://www.googletagmanager.com/gtag/js?id=G-25KRKY45D7\"></script>·
 <script>·
 window.dataLayer = window.dataLayer || [];·
 function gtag(){dataLayer.push(arguments);}·
 gtag('js', new Date());···
 gtag('config', 'G-25KRKY45D7');·
 </script>·
</head>·
<body class=\"with-mobile-cta\" data-kakao-url=\"https://pf.kakao.com/_xoxchTX\">·
 <partial name=\"_Header\" />·
 <main role=\"main\" class=\"pb-5\">··········
<section class=\"container py-5\" style=\"max-width: 560px;\">
 <div class=\"card shadow-sm border-0\">
 <div class=\"card-body p-4 p-md-5\">
 <div class=\"mb-4\">
 <p class=\"text-uppercase text-muted small mb-1\">TaxBaik Admin</p>
 <h1 class=\"h3 fw-bold mb-2\">관리자 로그인</h1>
 <p class=\"text-muted mb-0\">로그인 후 대시보드와 관리자 기능을 이용할 수 있습니다.</p>
 </div>··
 <form id=\"admin-login-form\" method=\"post\" class=\"vstack gap-3\">
 <input name=\"__RequestVerificationToken\" type=\"hidden\" value=\"CfDJ8MSeutqIyfZKsHr5RAKz7bMWYo1PhUG5M5DyznIQXuRLU-vNNKIteKPbxrkz82V-HsO-UenmG4Wndy6sW04uv_XjVcBevOb7mYQTzZ57l5uwOYPvwe5G5_n1g8d84M30MZ10ZaLijn-KgaCFdlss4iY\" />
 <input type=\"hidden\" id=\"ReturnUrl\" name=\"ReturnUrl\" />·
 <div>
 <label class=\"form-label\" for=\"Username\">사용자명</label>
 <input class=\"form-control\" id=\"Username\" name=\"Username\" value=\"\" autocomplete=\"username\" />
 <span class=\"text-danger small\"></span>
 </div>·
 <div>
 <label class=\"form-label\" for=\"Password\">비밀번호</label>
 <input class=\"form-control\" id=\"Password\" name=\"Password\" type=\"password\" autocomplete=\"current-password\" />
 <span class=\"text-danger small\"></span>
 </div>·
 <div class=\"form-check\">
 <input class=\"form-check-input\" id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" checked=\"checked\" />
 <label class=\"form-check-label\" for=\"RememberMe\">로그인 상태 유지</label>
 </div>·
 <button class=\"btn btn-dark w-100\" id=\"admin-login-submit\" type=\"submit\">
 <span>로그인</span>
 </button>
 </form>·
 <p class=\"text-muted small mt-4 mb-0\">
 이 페이지는 서버 렌더링 기반입니다. 로그인 성공 후 관리자 웹앱으로 이동합니다.
 </p>
 </div>
 </div>
</section>···
 </main>·
 <footer class=\"bg-light border-top mt-5 py-5\">·
 <div class=\"container\">·
 <div class=\"row g-5\">·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">백원숙 세무회계</h6>·
 <p class=\"small text-muted\">·
 사업자 기장, 부동산 양도세·증여세,<br />·
 종합소득세 전문 상담·
 </p>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">메뉴</h6>·
 <ul class=\"list-unstyled small\">·
 <li class=\"mb-2\"><a href=\"/taxbaik/\" class=\"text-decoration-none text-muted\">홈</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/about\" class=\"text-decoration-none text-muted\">세무사 소개</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/services\" class=\"text-decoration-none text-muted\">전문 서비스</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/blog\" class=\"text-decoration-none text-muted\">세무 정보</a></li>·
 <li><a href=\"/taxbaik/contact\" class=\"text-decoration-none text-muted\">상담 신청</a></li>·
 </ul>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">연락처</h6>·
 <p class=\"small\">·
 📞 <a href=\"tel:010-4122-8268\" class=\"text-decoration-none text-muted\">010-4122-8268</a><br />·
 📧 <a href=\"mailto:taxbaik5668@gmail.com\" class=\"text-decoration-none text-muted\">taxbaik5668@gmail.com</a>·
 </p>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">채널</h6>·
 <p class=\"small\">·
 <a href=\"https://pf.kakao.com/_xoxchTX\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn btn-sm btn-warning me-2\">카카오톡</a>·
 <a href=\"https://www.instagram.com/taxtory5668/\" target=\"_blank\" class=\"btn btn-sm btn-outline-secondary\">Instagram</a>·
 </p>·
 </div>·
 </div>·
 <hr class=\"my-4\" />·
 <div class=\"text-center small text-muted\">·
 <p>© 2026 백원숙 세무회계. All rights reserved.</p>·
 <div class=\"mb-2\">·
 <a href=\"/taxbaik/privacy\" class=\"text-decoration-none text-muted me-2\">개인정보처리방침</a>·
 <span class=\"text-muted\">|</span>·
 <a href=\"/taxbaik/terms\" class=\"text-decoration-none text-muted ms-2 me-2\">이용약관</a>·
 <span class=\"text-muted\">|</span>·
 </div>·
 <div class=\"mt-2 text-muted\" style=\"font-size: 0.75rem; opacity: 0.6;\">·
 vunknown · unknown·
 </div>·
 </div>·
 </div>·
 </footer>···
 <!-- Mobile Fixed CTA -->·
 <div class=\"mobile-cta-bar d-lg-none\">·
 <a href=\"https://pf.kakao.com/_xoxchTX\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn-kakao-mobile\">·
 💬 카카오 상담하기·
 </a>·
 </div>···
 <script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js\" defer></script>·
 <script src=\"/taxbaik/js/site.js\" asp-append-version=\"true\" defer></script>·······
</body>·
</html>·
"
16 |
17 | const html = await response.text();
> 18 | expect(html).toContain('name="username"');
| ^
19 | expect(html).toContain('name="password"');
20 | expect(html).toContain('admin-login-form');
21 | });
at C:\Temp\taxbaik\tests\e2e\login-test.spec.ts:18:16
attachment #1: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\login-test-Admin-Login-Pag-9c823-ins-the-form-before-JS-runs-iPad-Pro\trace.zip
Usage:
npx playwright show-trace test-results\login-test-Admin-Login-Pag-9c823-ins-the-form-before-JS-runs-iPad-Pro\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
67) [iPad Pro] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
Error: expect(locator).toBeVisible() failed
Locator: getByRole('link', { name: /상담 신청|무료 상담 신청/ })
Expected: visible
Error: strict mode violation: getByRole('link', { name: /상담 신청|무료 상담 신청/ }) resolved to 2 elements:
1) <a href="/taxbaik/contact" class="btn btn-primary btn-lg">상담 신청하기</a> aka getByRole('link', { name: '상담 신청하기' })
2) <a href="/taxbaik/contact" class="text-decoration-none text-muted">상담 신청</a> aka getByRole('link', { name: '상담 신청', exact: true })
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for getByRole('link', { name: /상담 신청|무료 상담 신청/ })
10 | await expect(page).not.toHaveTitle(/관리자/);
11 | await expect(page.getByRole('heading', { name: /세금과 자산|백원숙 세무회계/ })).toBeVisible();
> 12 | // 상담 신청 버튼: 첫 번째 "상담 신청하기" 버튼만 선택 (strict mode 위반 방지)
| ^
13 | await expect(page.getByRole('link', { name: '상담 신청하기' })).toBeVisible();
14 | await expect(page.locator('meta[name="description"]')).toHaveAttribute('content', /사업자 기장|부동산|종합소득세/);
15 | await expect(page.getByRole('heading', { name: /상담 과정/ })).toBeVisible();
at C:\Temp\taxbaik\tests\e2e\public-smoke.spec.ts:12:70
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-62\traces\9069cf5df66af74e1237-2f2783f0b169124e1d32.network'
Error: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-62\d94800b423b32bf1c2bb3ddf72374f47.zip'
Test timeout of 180000ms exceeded.
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-iPad-Pro\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-iPad-Pro\error-context.md
68) [Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button
Error: expect(locator).toContainText(expected) failed
Locator: locator('body')
Timeout: 12000ms
- Expected substring - 1
+ Received string + 40
- 세무 프로필
+
+  
+ Menu
+ TaxBaik
+ 세무회계 관리 대시보드
+ 공개 사이트
+ 로그아웃
+
+ T
+ TaxBaik
+ 세무 운영 콘솔
+
+ 개요<path d="M0 0h24v24H0z" fill="none"/><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/>
+ 대시보드
+
+ 공개 사이트
+ 로그아웃요청한 페이지를 찾을 수 없습니다.
+
+  
+
+  
+  
+ 연결 재설정 중...
+ 새로운 버전으로 업데이트되었습니다.
+ 자동으로 페이지를 새로고침합니다. 잠시만 기다려주세요.
+  
+  
+
+  
+ 관리자 화면을 불러오는 중 오류가 발생했습니다. 브라우저 콘솔 또는 서버 client-logs를 확인하세요.
+ 새로고침
+ 닫기
+  
+
+  
+  
+  
+
+
+
Call log:
 - Expect "toContainText" with timeout 12000ms
 - waiting for locator('body')
 15 × locator resolved to <body>…</body>
 - unexpected value "
 
 Menu
 TaxBaik
 세무회계 관리 대시보드
 공개 사이트
 로그아웃

 T
 TaxBaik
 세무 운영 콘솔

 개요<path d="M0 0h24v24H0z" fill="none"/><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/>
 대시보드

 공개 사이트
 로그아웃요청한 페이지를 찾을 수 없습니다.

 

 
 
 연결 재설정 중...
 새로운 버전으로 업데이트되었습니다.
 자동으로 페이지를 새로고침합니다. 잠시만 기다려주세요.
 
 

 
 관리자 화면을 불러오는 중 오류가 발생했습니다. 브라우저 콘솔 또는 서버 client-logs를 확인하세요.
 새로고침
 닫기
 

 
 
 


"
at helpers\admin-auth.ts:98
96 | export async function waitForAdminSection(page: Page, headingText: string) {
97 | const hero = page.locator('.admin-page-hero');
> 98 | await expect(page.locator('body')).toContainText(headingText, { timeout: Wait.page });
| ^
99 | await expect(hero).toBeVisible({ timeout: Wait.page });
100 | await expect(hero).toContainText(headingText, { timeout: Wait.page });
101 | await expect(page.getByRole('heading', { name: headingText, exact: true })).toBeVisible({ timeout: Wait.page });
at waitForAdminSection (C:\Temp\taxbaik\tests\e2e\helpers\admin-auth.ts:98:38)
at C:\Temp\taxbaik\tests\e2e\admin-crm-pages.spec.ts:21:30
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Galaxy-S9-\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Galaxy-S9-\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-crm-pages-admin-CRM--6eedf-ds-with-grid-and-add-button-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
69) [Galaxy S9+] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 60000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 60000ms
 - waiting for locator('.admin-page-hero')
75 | await expect(page).toHaveURL(/\/taxbaik\/admin\/dashboard$/, { timeout: 20_000 });
76 | // WASM 부팅에 시간이 걸릴 수 있으므로 더 긴 타임아웃 사용
> 77 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 60_000 });
| ^
78 | await expect(page.locator('.admin-page-hero')).toContainText('대시보드');
79 | await expect(page.getByRole('link', { name: /로그아웃/ })).toBeVisible({ timeout: 30_000 });
80 | expect(consoleErrors, 'browser console/page errors').toEqual([]);
at C:\Temp\taxbaik\tests\e2e\admin-login.spec.ts:77:52
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-69\traces\481c7578028bb96ee688-21efb93ebc280c233b4f.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-login-admin-authenti-8d2e4-er-UI-and-reaches-dashboard-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
70) [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads
Error: expect(locator).toBeVisible() failed
Locator: locator('input[placeholder*="사용자"]')
Expected: visible
Timeout: 90000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for locator('input[placeholder*="사용자"]')
11 | await page.goto(`${baseUrl}/admin/login`);
12 | await expect(page.locator('text=관리자 로그인')).toBeVisible();
> 13 | await expect(page.locator('input[placeholder*="사용자"]')).toBeVisible();
| ^
14 | });
15 |
16 | test('Dashboard page loads', async ({ page }) => {
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:13:61
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-67\traces\7ee68a35b274332ffb95-453b44d0af829cd0f028.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Login-page-loads-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
71) [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-75\traces\7ee68a35b274332ffb95-7fc3ff5c17b268218071.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
16 | test('Dashboard page loads', async ({ page }) => {
17 | await page.goto(`${baseUrl}/admin/login`);
> 18 | await page.fill('input[name="username"]', username);
| ^
19 | await page.fill('input[name="password"]', password);
20 | await page.click('button[type="submit"]');
21 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:18:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-P-45f66-Manual-Dashboard-page-loads-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
72) [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-91\traces\7ee68a35b274332ffb95-7396043c428b03ef9c5f.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
31 | test('Blog page loads', async ({ page }) => {
32 | await page.goto(`${baseUrl}/admin/login`);
> 33 | await page.fill('input[name="username"]', username);
| ^
34 | await page.fill('input[name="password"]', password);
35 | await page.click('button[type="submit"]');
36 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:33:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Blog-page-loads-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
73) [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-95\traces\7ee68a35b274332ffb95-08f8f568fc9a820f3064.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
46 | test('Inquiry page loads', async ({ page }) => {
47 | await page.goto(`${baseUrl}/admin/login`);
> 48 | await page.fill('input[name="username"]', username);
| ^
49 | await page.fill('input[name="password"]', password);
50 | await page.click('button[type="submit"]');
51 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:48:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-Inquiry-page-loads-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
74) [Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-97\traces\7ee68a35b274332ffb95-d91e7d42ac0cbdee3499.trace'
Error: page.fill: Test ended.
Call log:
 - waiting for locator('input[name="username"]')
61 | test('CRM pages load', async ({ page }) => {
62 | await page.goto(`${baseUrl}/admin/login`);
> 63 | await page.fill('input[name="username"]', username);
| ^
64 | await page.fill('input[name="password"]', password);
65 | await page.click('button[type="submit"]');
66 | await navigateInBlazor(page, `${baseUrl}/admin/dashboard`);
at C:\Temp\taxbaik\tests\e2e\admin-pages-manual.spec.ts:63:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-pages-manual-Admin-Pages-E2E-Manual-CRM-pages-load-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
75) [Galaxy S9+] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('.admin-page-hero')
29 | // 2. 대시보드로 이동 및 최초 로드 대기
30 | await page.goto(`${baseUrl}/admin/dashboard`);
> 31 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 30_000 });
| ^
32 |
33 | // 3. 각 디바이스별로 뷰포트를 변경하며 검증 (새로고침 없이 초고속 검증)
34 | for (const device of deviceTests) {
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:31:52
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-68\traces\da7c59ce61d93dc7813a-f85eee42ee4dd3d6cf11-recording2.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-3fad2--correctly-on-all-viewports-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
76) [Galaxy S9+] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('.admin-page-hero')
89 | await page.setViewportSize({ width: 375, height: 667 });
90 | await page.goto(`${baseUrl}/admin/dashboard`);
> 91 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 30_000 });
| ^
92 |
93 | // 모바일에서는 메뉴 토글 버튼이 있어야 함
94 | const menuButton = page.locator('.admin-menu-button');
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:91:52
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-71\traces\da7c59ce61d93dc7813a-ebce691dd966ad9579b3.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-2c19b-er-responsiveness-on-mobile-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
77) [Galaxy S9+] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile
TimeoutError: page.waitForSelector: Timeout 30000ms exceeded.
Call log:
 - waiting for locator('input[type="text"], textarea, .mud-input-base, .mud-field') to be visible
107 | await page.setViewportSize({ width: 480, height: 853 });
108 | await page.goto(`${baseUrl}/admin/faqs/create`);
> 109 | await page.waitForSelector('input[type="text"], textarea, .mud-input-base, .mud-field', { timeout: 30_000 });
| ^
110 |
111 | const inputs = page.locator('input[type="text"], textarea, .mud-input-base, .mud-field');
112 | const inputCount = await inputs.count();
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:109:16
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-74\traces\da7c59ce61d93dc7813a-472ee230003a92227de5.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-441c6-ts-are-accessible-on-mobile-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
78) [Galaxy S9+] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports
Error: expect(locator).toBeVisible() failed
Locator: locator('.admin-page-hero')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('.admin-page-hero')
137 | await page.setViewportSize(viewport);
138 | await page.goto(`${baseUrl}/admin/dashboard`);
> 139 | await expect(page.locator('.admin-page-hero')).toBeVisible({ timeout: 30_000 });
| ^
140 |
141 | const logoutButton = page.locator('a:has-text("로그아웃"), button:has-text("로그아웃")').first();
142 | if (await logoutButton.count() > 0) {
at C:\Temp\taxbaik\tests\e2e\admin-responsive.spec.ts:139:54
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-78\traces\da7c59ce61d93dc7813a-a6fd3bff243809a5758a.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\admin-responsive-admin-res-075ff--clickable-on-all-viewports-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
79) [Galaxy S9+] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages
Error: expect(locator).toBeVisible() failed
Locator: locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first()
Expected: visible
Timeout: 90000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first()
7 | await page.goto(`${baseUrl}/blog`);
8 | const firstPost = page.locator('a[href^="/taxbaik/blog/"]').filter({ hasText: '글 내용 보기' }).first();
> 9 | await expect(firstPost).toBeVisible();
| ^
10 | const detailHref = await firstPost.getAttribute('href');
11 | expect(detailHref).toMatch(/^\/taxbaik\/blog\/[a-z0-9-]+$/);
12 | const detailPath = detailHref?.replace('/taxbaik', '') ?? '/blog';
at C:\Temp\taxbaik\tests\e2e\blog-seo.spec.ts:9:29
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-72\traces\1d0d3a59ebe6e0e691d7-f489ae8d92f2251e004c.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\blog-seo-blog-seo-exposes--62f67-onical-on-blog-detail-pages-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
80) [Galaxy S9+] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation
Error: page.evaluate: Error: login failed: 400 Bad Request
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at loginThroughAdminUi (C:\Temp\taxbaik\tests\e2e\helpers\admin-auth.ts:53:30)
at C:\Temp\taxbaik\tests\e2e\blog-validation.spec.ts:26:3
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-70\traces\ab7c3855fc28a1b2454e-00f8d78799a2a1a7c350-recording2.network'
Error: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-70\a75a7fe4ffeac842b6a1eb85501bcb93.zip'
Test timeout of 180000ms exceeded.
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\blog-validation-Blog-Manag-4f5b2-ow---Real-Domain-Validation-Galaxy-S9-\error-context.md
81) [Galaxy S9+] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list
Error: expect(locator).toBeVisible() failed
Locator: locator('.mud-main-content').getByText('문의 관리').first()
Expected: visible
Timeout: 20000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 20000ms
 - waiting for locator('.mud-main-content').getByText('문의 관리').first()
53 | await loginThroughAdminUi(page, baseUrl, username, password);
54 | await navigateInBlazor(page, `${baseUrl}/admin/inquiries`);
> 55 | await expect(page.locator('.mud-main-content').getByText('문의 관리').first()).toBeVisible({ timeout: 20_000 });
| ^
56 | });
57 |
58 | test('submitting the public Contact.cshtml form shows the success message', async ({ page }) => {
at C:\Temp\taxbaik\tests\e2e\contact-submit.spec.ts:55:80
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, copyfile 'C:\Temp\taxbaik\test-results\.playwright-artifacts-73\traces\78ff188543f551bce0b7-d3ea7cbe93a14842d632-recording2.network' -> 'C:\Temp\taxbaik\test-results\.playwright-artifacts-73\traces\78ff188543f551bce0b7-d3ea7cbe93a14842d632-recording2-pwnetcopy-1.network'
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-73\traces\78ff188543f551bce0b7-d3ea7cbe93a14842d632-recording1.trace'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\contact-submit-contact-sub-0fd92--and-shows-it-in-admin-list-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
82) [Galaxy S9+] tests\e2e\contact-submit.spec.ts:58:7 contact submit submitting the public Contact.cshtml form shows the success message
Test timeout of 180000ms exceeded.
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-76\traces\78ff188543f551bce0b7-dd1436a872a53f2b1272.trace'
Error: page.check: Test ended.
Call log:
 - waiting for locator('#agree')
 - locator resolved to <input id="agree" required="" name="Agree" value="true" type="checkbox" class="form-check-input"/>
 - attempting click action
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <form method="post" id="contactForm" data-gtm-form-interact-id="0">…</form> intercepts pointer events
 - retrying click action
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <a target="_blank" class="btn-kakao-mobile" rel="noopener noreferrer" href="https://pf.kakao.com/_xoxchTX">↵ 💬 카카오 상담하기↵ </a> from <div class="mobile-cta-bar d-lg-none">…</div> subtree intercepts pointer events
 - retrying click action
 - waiting 20ms
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <form method="post" id="contactForm" data-gtm-form-interact-id="0">…</form> intercepts pointer events
 2 × retrying click action
 - waiting 100ms
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <div class="container py-5">…</div> intercepts pointer events
 83 × retrying click action
 - waiting 500ms
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <a target="_blank" class="btn-kakao-mobile" rel="noopener noreferrer" href="https://pf.kakao.com/_xoxchTX">↵ 💬 카카오 상담하기↵ </a> from <div class="mobile-cta-bar d-lg-none">…</div> subtree intercepts pointer events
 - retrying click action
 - waiting 500ms
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <form method="post" id="contactForm" data-gtm-form-interact-id="0">…</form> intercepts pointer events
 - retrying click action
 - waiting 500ms
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <div class="container py-5">…</div> intercepts pointer events
 - retrying click action
 - waiting 500ms
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <div class="container py-5">…</div> intercepts pointer events
 - retrying click action
 - waiting 500ms
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <a target="_blank" class="btn-kakao-mobile" rel="noopener noreferrer" href="https://pf.kakao.com/_xoxchTX">↵ 💬 카카오 상담하기↵ </a> from <div class="mobile-cta-bar d-lg-none">…</div> subtree intercepts pointer events
 - retrying click action
 - waiting 500ms
 - waiting for element to be visible, enabled and stable
 - element is visible, enabled and stable
 - scrolling into view if needed
 - done scrolling
 - <form method="post" id="contactForm" data-gtm-form-interact-id="0">…</form> intercepts pointer events
 - retrying click action
 - waiting 500ms
70 | await page.fill('#email', `contact-e2e-${stamp}@example.com`);
71 | await page.fill('#message', 'Playwright로 Contact.cshtml 폼을 직접 제출한 테스트입니다.');
> 72 | await page.check('#agree');
| ^
73 | await page.click('button[type="submit"]');
74 |
75 | await expect(page.locator('#contact-success')).toBeVisible({ timeout: 15_000 });
at C:\Temp\taxbaik\tests\e2e\contact-submit.spec.ts:72:16
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-024b3-m-shows-the-success-message-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\contact-submit-contact-sub-024b3-m-shows-the-success-message-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\contact-submit-contact-sub-024b3-m-shows-the-success-message-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\contact-submit-contact-sub-024b3-m-shows-the-success-message-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
83) [Galaxy S9+] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics ───────────────
TimeoutError: page.waitForSelector: Timeout 5000ms exceeded.
Call log:
 - waiting for locator('.admin-page-hero') to be visible
11 |
12 | // Wait for page load
> 13 | await page.waitForSelector('.admin-page-hero', { timeout: 5000 });
| ^
14 | await page.waitForTimeout(2000);
15 |
16 | // Check for metric cards
at C:\Temp\taxbaik\tests\e2e\dashboard-check.spec.ts:13:14
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\dashboard-check-check-dashboard-metrics-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\dashboard-check-check-dashboard-metrics-Galaxy-S9-\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\dashboard-check-check-dashboard-metrics-Galaxy-S9-\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\dashboard-check-check-dashboard-metrics-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\dashboard-check-check-dashboard-metrics-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
84) [Galaxy S9+] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly
Error: page.evaluate: Error: login failed: 400 Bad Request
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at eval (eval at evaluate (:290:30), <anonymous>:17:15)
at async <anonymous>:316:30
at loginThroughAdminUi (C:\Temp\taxbaik\tests\e2e\helpers\admin-auth.ts:53:30)
at C:\Temp\taxbaik\tests\e2e\full-admin-pages.spec.ts:10:3
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-Galaxy-S9-\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-Galaxy-S9-\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\full-admin-pages-productio-d8737--admin-pages-load-correctly-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
85) [Galaxy S9+] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD
Error: expect(locator).toBeVisible() failed
Locator: locator('text=블로그 관리')
Expected: visible
Timeout: 30000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 30000ms
 - waiting for locator('text=블로그 관리')
39 | // 네비게이션 메뉴 확인
40 | const blogLink = page.locator('text=블로그 관리');
> 41 | await expect(blogLink).toBeVisible({ timeout: 30000 });
| ^
42 | console.log('✓ 블로그 관리 메뉴 표시');
43 |
44 | // 블로그 페이지로 이동
at C:\Temp\taxbaik\tests\e2e\full-user-flow.spec.ts:41:28
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-81\traces\c6681a4a350aa86369bc-e1542725c672045325c2.network'
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-Galaxy-S9-\error-context.md
attachment #3: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\full-user-flow-프로덕션-사용자-흐름-테스트-홈페이지-→-로그인-→-대시보드-→-블로그-CRUD-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
86) [Galaxy S9+] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links
Error: expect(locator).toBeVisible() failed
Locator: getByText('Detail-1783486021956', { exact: true }).first()
Expected: visible
Timeout: 90000ms
Error: element(s) not found
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for getByText('Detail-1783486021956', { exact: true }).first()
37 |
38 | await expect(page).toHaveURL(/\/taxbaik\/admin\/inquiries\/\d+$/);
> 39 | await expect(page.getByText(name, { exact: true }).first()).toBeVisible();
| ^
40 | await expect(page.getByText(phone, { exact: true }).first()).toBeVisible();
41 | await expect(page.getByText(message, { exact: true }).first()).toBeVisible();
42 | await expect(page.getByRole('button', { name: '신규' })).toBeVisible();
at C:\Temp\taxbaik\tests\e2e\inquiry-detail.spec.ts:39:65
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-82\traces\0b7ed30a9e279ee14eeb-f931fbc30ff864267ded-recording1.network'
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-82\traces\0b7ed30a9e279ee14eeb-f931fbc30ff864267ded.trace'
Error: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-82\8fe3eafde3dfdc300336d87f9a25833d.zip'
Test timeout of 180000ms exceeded.
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\inquiry-detail-inquiry-det-43d69-uiry-and-admin-action-links-Galaxy-S9-\error-context.md
87) [Galaxy S9+] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs
Error: expect(received).toContain(expected) // indexOf
Expected substring: "name=\"username\""
Received string: "<!DOCTYPE html>·
<html lang=\"ko\">·
<head>·
 <meta charset=\"utf-8\" />·
 <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />·
 <title>관리자 로그인</title>·
 <meta name=\"description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta name=\"keywords\" content=\"백원숙 세무회계, 세무사, 사업자 기장, 양도소득세, 증여세, 상속세, 종합소득세, 절세 상담, 세무 대리\" />·······
 <!-- Open Graph / Facebook -->·
 <meta property=\"og:type\" content=\"website\" />·
 <meta property=\"og:title\" content=\"관리자 로그인\" />·
 <meta property=\"og:description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta property=\"og:image\" content=\"https://www.taxbaik.com/taxbaik/images/og-image.jpg\" />·
 <meta property=\"og:url\" content=\"https://www.taxbaik.com/taxbaik/\" />·······
 <!-- Twitter -->·
 <meta property=\"twitter:card\" content=\"summary_large_image\" />·
 <meta property=\"twitter:title\" content=\"관리자 로그인\" />·
 <meta property=\"twitter:description\" content=\"관리자 로그인 페이지입니다.\" />·
 <meta property=\"twitter:image\" content=\"https://www.taxbaik.com/taxbaik/images/og-image.jpg\" />···
 <!-- 검색엔진 등록용 소유권 인증 메타 태그 (발급받으신 토큰이 있으면 아래 content에 넣어 주시면 됩니다) -->·
 <!-- <meta name=\"naver-site-verification\" content=\"네이버_서치어드바이저_토큰_입력\" /> -->·
 <!-- <meta name=\"google-site-verification\" content=\"구글_서치콘솔_토큰_입력\" /> -->···
 <meta name=\"robots\" content=\"index, follow\" />·
 <meta name=\"theme-color\" content=\"#C89D6E\" />·
 <link rel=\"icon\" type=\"image/svg+xml\" href=\"/taxbaik/favicon.svg\" />·
 <link rel=\"alternate icon\" href=\"/taxbaik/favicon.ico\" />···
 <!-- RSS Feed -->·
 <link rel=\"alternate\" type=\"application/rss+xml\" title=\"백원숙 세무회계 블로그\" href=\"/taxbaik/rss.xml\" />·
 <link rel=\"alternate\" type=\"application/rss+xml\" title=\"TaxBaik Blog Feed\" href=\"/taxbaik/feed.xml\" />·
 <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\" />·
 <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin />·
 <link rel=\"dns-prefetch\" href=\"https://cdn.jsdelivr.net\" />·
 <link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+KR:wght@400;500;700&family=Outfit:wght@400;500;600;700;800&display=swap\" rel=\"stylesheet\" />·
 <link rel=\"canonical\" href=\"http://localhost:5001/taxbaik/admin/login\" />·
 <link href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css\" rel=\"stylesheet\" />·
 <link rel=\"stylesheet\" href=\"/taxbaik/css/site.css\" asp-append-version=\"true\" />···
 <!-- 구조화된 데이터 (JSON-LD Schema Markup) -->·
 <script type=\"application/ld+json\">·
 {·
 \"@context\": \"https://schema.org\",·
 \"@type\": \"ProfessionalService\",·
 \"name\": \"백원숙 세무회계\",·
 \"description\": \"사업자 기장, 부동산 양도세·증여세, 종합소득세 전문 상담 세무사\",·
 \"url\": \"https://www.taxbaik.com/taxbaik/\",·
 \"telephone\": \"010-4122-8268\",·
 \"email\": \"taxbaik5668@gmail.com\",·
 \"address\": {·
 \"@type\": \"PostalAddress\",·
 \"addressCountry\": \"KR\"·
 },·
 \"sameAs\": [·
 \"https://www.instagram.com/taxtory5668/\",·
 \"https://pf.kakao.com/_xoxchTX\"·
 ]·
 }·
 </script>···
 <!-- Google tag (gtag.js) -->·
 <script async src=\"https://www.googletagmanager.com/gtag/js?id=G-25KRKY45D7\"></script>·
 <script>·
 window.dataLayer = window.dataLayer || [];·
 function gtag(){dataLayer.push(arguments);}·
 gtag('js', new Date());···
 gtag('config', 'G-25KRKY45D7');·
 </script>·
</head>·
<body class=\"with-mobile-cta\" data-kakao-url=\"https://pf.kakao.com/_xoxchTX\">·
 <partial name=\"_Header\" />·
 <main role=\"main\" class=\"pb-5\">··········
<section class=\"container py-5\" style=\"max-width: 560px;\">
 <div class=\"card shadow-sm border-0\">
 <div class=\"card-body p-4 p-md-5\">
 <div class=\"mb-4\">
 <p class=\"text-uppercase text-muted small mb-1\">TaxBaik Admin</p>
 <h1 class=\"h3 fw-bold mb-2\">관리자 로그인</h1>
 <p class=\"text-muted mb-0\">로그인 후 대시보드와 관리자 기능을 이용할 수 있습니다.</p>
 </div>··
 <form id=\"admin-login-form\" method=\"post\" class=\"vstack gap-3\">
 <input name=\"__RequestVerificationToken\" type=\"hidden\" value=\"CfDJ8MSeutqIyfZKsHr5RAKz7bOUWYZleo1lAehz5rRZieA4zDJumAtga0em9p1TYXpEnwvVp2N5hzjobv1HuO28_gMmoDbtuHplGIZVBrum3L327elA-9yiFtVkZ69U7QDmhLmWIoS6GaoQ8_NFjpVx-lk\" />
 <input type=\"hidden\" id=\"ReturnUrl\" name=\"ReturnUrl\" />·
 <div>
 <label class=\"form-label\" for=\"Username\">사용자명</label>
 <input class=\"form-control\" id=\"Username\" name=\"Username\" value=\"\" autocomplete=\"username\" />
 <span class=\"text-danger small\"></span>
 </div>·
 <div>
 <label class=\"form-label\" for=\"Password\">비밀번호</label>
 <input class=\"form-control\" id=\"Password\" name=\"Password\" type=\"password\" autocomplete=\"current-password\" />
 <span class=\"text-danger small\"></span>
 </div>·
 <div class=\"form-check\">
 <input class=\"form-check-input\" id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" checked=\"checked\" />
 <label class=\"form-check-label\" for=\"RememberMe\">로그인 상태 유지</label>
 </div>·
 <button class=\"btn btn-dark w-100\" id=\"admin-login-submit\" type=\"submit\">
 <span>로그인</span>
 </button>
 </form>·
 <p class=\"text-muted small mt-4 mb-0\">
 이 페이지는 서버 렌더링 기반입니다. 로그인 성공 후 관리자 웹앱으로 이동합니다.
 </p>
 </div>
 </div>
</section>···
 </main>·
 <footer class=\"bg-light border-top mt-5 py-5\">·
 <div class=\"container\">·
 <div class=\"row g-5\">·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">백원숙 세무회계</h6>·
 <p class=\"small text-muted\">·
 사업자 기장, 부동산 양도세·증여세,<br />·
 종합소득세 전문 상담·
 </p>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">메뉴</h6>·
 <ul class=\"list-unstyled small\">·
 <li class=\"mb-2\"><a href=\"/taxbaik/\" class=\"text-decoration-none text-muted\">홈</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/about\" class=\"text-decoration-none text-muted\">세무사 소개</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/services\" class=\"text-decoration-none text-muted\">전문 서비스</a></li>·
 <li class=\"mb-2\"><a href=\"/taxbaik/blog\" class=\"text-decoration-none text-muted\">세무 정보</a></li>·
 <li><a href=\"/taxbaik/contact\" class=\"text-decoration-none text-muted\">상담 신청</a></li>·
 </ul>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">연락처</h6>·
 <p class=\"small\">·
 📞 <a href=\"tel:010-4122-8268\" class=\"text-decoration-none text-muted\">010-4122-8268</a><br />·
 📧 <a href=\"mailto:taxbaik5668@gmail.com\" class=\"text-decoration-none text-muted\">taxbaik5668@gmail.com</a>·
 </p>·
 </div>·
 <div class=\"col-md-3\">·
 <h6 class=\"fw-bold mb-3\">채널</h6>·
 <p class=\"small\">·
 <a href=\"https://pf.kakao.com/_xoxchTX\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn btn-sm btn-warning me-2\">카카오톡</a>·
 <a href=\"https://www.instagram.com/taxtory5668/\" target=\"_blank\" class=\"btn btn-sm btn-outline-secondary\">Instagram</a>·
 </p>·
 </div>·
 </div>·
 <hr class=\"my-4\" />·
 <div class=\"text-center small text-muted\">·
 <p>© 2026 백원숙 세무회계. All rights reserved.</p>·
 <div class=\"mb-2\">·
 <a href=\"/taxbaik/privacy\" class=\"text-decoration-none text-muted me-2\">개인정보처리방침</a>·
 <span class=\"text-muted\">|</span>·
 <a href=\"/taxbaik/terms\" class=\"text-decoration-none text-muted ms-2 me-2\">이용약관</a>·
 <span class=\"text-muted\">|</span>·
 </div>·
 <div class=\"mt-2 text-muted\" style=\"font-size: 0.75rem; opacity: 0.6;\">·
 vunknown · unknown·
 </div>·
 </div>·
 </div>·
 </footer>···
 <!-- Mobile Fixed CTA -->·
 <div class=\"mobile-cta-bar d-lg-none\">·
 <a href=\"https://pf.kakao.com/_xoxchTX\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn-kakao-mobile\">·
 💬 카카오 상담하기·
 </a>·
 </div>···
 <script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js\" defer></script>·
 <script src=\"/taxbaik/js/site.js\" asp-append-version=\"true\" defer></script>·······
</body>·
</html>·
"
16 |
17 | const html = await response.text();
> 18 | expect(html).toContain('name="username"');
| ^
19 | expect(html).toContain('name="password"');
20 | expect(html).toContain('admin-login-form');
21 | });
at C:\Temp\taxbaik\tests\e2e\login-test.spec.ts:18:16
Error: apiRequestContext._wrapApiCall: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-83\traces\bdde59c310911dcc8229-8440797333d01dae68e5.network'
Error: ENOENT: no such file or directory, open 'C:\Temp\taxbaik\test-results\.playwright-artifacts-83\5ba7a673b0f25a86fbef667ee4be6df9.zip'
Test timeout of 180000ms exceeded.
88) [Galaxy S9+] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
Error: expect(locator).toBeVisible() failed
Locator: getByRole('link', { name: /상담 신청|무료 상담 신청/ })
Expected: visible
Error: strict mode violation: getByRole('link', { name: /상담 신청|무료 상담 신청/ }) resolved to 2 elements:
1) <a href="/taxbaik/contact" class="btn btn-primary btn-lg">상담 신청하기</a> aka getByRole('link', { name: '상담 신청하기' })
2) <a href="/taxbaik/contact" class="text-decoration-none text-muted">상담 신청</a> aka getByRole('link', { name: '상담 신청', exact: true })
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for getByRole('link', { name: /상담 신청|무료 상담 신청/ })
10 | await expect(page).not.toHaveTitle(/관리자/);
11 | await expect(page.getByRole('heading', { name: /세금과 자산|백원숙 세무회계/ })).toBeVisible();
> 12 | // 상담 신청 버튼: 첫 번째 "상담 신청하기" 버튼만 선택 (strict mode 위반 방지)
| ^
13 | await expect(page.getByRole('link', { name: '상담 신청하기' })).toBeVisible();
14 | await expect(page.locator('meta[name="description"]')).toHaveAttribute('content', /사업자 기장|부동산|종합소득세/);
15 | await expect(page.getByRole('heading', { name: /상담 과정/ })).toBeVisible();
at C:\Temp\taxbaik\tests\e2e\public-smoke.spec.ts:12:70
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Galaxy-S9-\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Galaxy-S9-\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
89) [Galaxy S9+] tests\e2e\route-isolation.spec.ts:6:7 route isolation public home does not boot the admin app
Error: expect(locator).toBeVisible() failed
Locator: getByRole('link', { name: /카카오 상담하기|카카오채널 문의/ })
Expected: visible
Error: strict mode violation: getByRole('link', { name: /카카오 상담하기|카카오채널 문의/ }) resolved to 2 elements:
1) <a target="_blank" rel="noopener noreferrer" onclick="openKakao(event)" href="https://pf.kakao.com/_xoxchTX" class="btn btn-outline-primary btn-lg">↵ 💬 카카오채널 문의↵ …</a> aka getByRole('link', { name: '💬 카카오채널 문의' })
2) <a target="_blank" class="btn-kakao-mobile" rel="noopener noreferrer" href="https://pf.kakao.com/_xoxchTX">↵ 💬 카카오 상담하기↵ </a> aka getByRole('link', { name: '💬 카카오 상담하기' })
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for getByRole('link', { name: /카카오 상담하기|카카오채널 문의/ })
9 | await expect(page).toHaveTitle(/백원숙 세무회계/);
10 | await expect(page.getByRole('heading', { name: /상담 과정/ })).toBeVisible();
> 11 | await expect(page.getByRole('link', { name: /카카오 상담하기|카카오채널 문의/ })).toBeVisible();
| ^
12 | });
13 |
14 | test('admin login boots the admin app under the admin base path', async ({ page }) => {
at C:\Temp\taxbaik\tests\e2e\route-isolation.spec.ts:11:73
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\route-isolation-route-isol-340d6-does-not-boot-the-admin-app-Galaxy-S9-\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\route-isolation-route-isol-340d6-does-not-boot-the-admin-app-Galaxy-S9-\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\route-isolation-route-isol-340d6-does-not-boot-the-admin-app-Galaxy-S9-\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\route-isolation-route-isol-340d6-does-not-boot-the-admin-app-Galaxy-S9-\trace.zip
Usage:
npx playwright show-trace test-results\route-isolation-route-isol-340d6-does-not-boot-the-admin-app-Galaxy-S9-\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
90) [Public Smoke] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
Error: expect(locator).toBeVisible() failed
Locator: getByRole('link', { name: /상담 신청|무료 상담 신청/ })
Expected: visible
Error: strict mode violation: getByRole('link', { name: /상담 신청|무료 상담 신청/ }) resolved to 2 elements:
1) <a href="/taxbaik/contact" class="btn btn-primary btn-lg">상담 신청하기</a> aka getByRole('link', { name: '상담 신청하기' })
2) <a href="/taxbaik/contact" class="text-decoration-none text-muted">상담 신청</a> aka getByRole('link', { name: '상담 신청', exact: true })
Call log:
 - Expect "toBeVisible" with timeout 90000ms
 - waiting for getByRole('link', { name: /상담 신청|무료 상담 신청/ })
10 | await expect(page).not.toHaveTitle(/관리자/);
11 | await expect(page.getByRole('heading', { name: /세금과 자산|백원숙 세무회계/ })).toBeVisible();
> 12 | // 상담 신청 버튼: 첫 번째 "상담 신청하기" 버튼만 선택 (strict mode 위반 방지)
| ^
13 | await expect(page.getByRole('link', { name: '상담 신청하기' })).toBeVisible();
14 | await expect(page.locator('meta[name="description"]')).toHaveAttribute('content', /사업자 기장|부동산|종합소득세/);
15 | await expect(page.getByRole('heading', { name: /상담 과정/ })).toBeVisible();
at C:\Temp\taxbaik\tests\e2e\public-smoke.spec.ts:12:70
attachment #1: screenshot (image/png) ──────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Public-Smoke\test-failed-1.png
────────────────────────────────────────────────────────────────────────────────────────────────
attachment #2: video (video/webm) ──────────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Public-Smoke\video.webm
────────────────────────────────────────────────────────────────────────────────────────────────
Error Context: test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Public-Smoke\error-context.md
attachment #4: trace (application/zip) ─────────────────────────────────────────────────────────
test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Public-Smoke\trace.zip
Usage:
npx playwright show-trace test-results\public-smoke-public-smoke--d5132-ublic-pages-with-SEO-basics-Public-Smoke\trace.zip
────────────────────────────────────────────────────────────────────────────────────────────────
90 failed
[Desktop Chrome] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button
[Desktop Chrome] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard
[Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads
[Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads
[Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads
[Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads
[Desktop Chrome] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load
[Desktop Chrome] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports
[Desktop Chrome] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile
[Desktop Chrome] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile
[Desktop Chrome] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports
[Desktop Chrome] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages
[Desktop Chrome] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation
[Desktop Chrome] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list
[Desktop Chrome] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics ─────────────
[Desktop Chrome] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly
[Desktop Chrome] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD
[Desktop Chrome] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links
[Desktop Chrome] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs
[Desktop Chrome] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
[iPhone 12] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button
[iPhone 12] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard
[iPhone 12] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads
[iPhone 12] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads
[iPhone 12] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads
[iPhone 12] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads
[iPhone 12] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load
[iPhone 12] tests\e2e\admin-password-change.spec.ts:10:7 admin password change changes password through the real admin UI
[iPhone 12] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports
[iPhone 12] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile
[iPhone 12] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile
[iPhone 12] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports
[iPhone 12] tests\e2e\admin-smoke.spec.ts:10:7 admin smoke @smoke logs in and lands on dashboard without circuit errors
[iPhone 12] tests\e2e\blog-crud.spec.ts:9:7 blog CRUD operations complete blog creation, read, update, delete flow
[iPhone 12] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages
[iPhone 12] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation
[iPhone 12] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list
[iPhone 12] tests\e2e\contact-submit.spec.ts:58:7 contact submit submitting the public Contact.cshtml form shows the success message
[iPhone 12] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics ──────────────────
[iPhone 12] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly
[iPhone 12] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD
[iPhone 12] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links
[iPhone 12] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs
[iPhone 12] tests\e2e\login-test.spec.ts:23:5 Admin Login Page - Full Flow Test ────────────
[iPhone 12] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
[iPhone 12] tests\e2e\route-isolation.spec.ts:6:7 route isolation public home does not boot the admin app
[iPhone 12] tests\e2e\route-isolation.spec.ts:14:7 route isolation admin login boots the admin app under the admin base path
[iPad Pro] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button
[iPad Pro] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard
[iPad Pro] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads
[iPad Pro] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads
[iPad Pro] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads
[iPad Pro] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads
[iPad Pro] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load
[iPad Pro] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports
[iPad Pro] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile
[iPad Pro] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile
[iPad Pro] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports
[iPad Pro] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages
[iPad Pro] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation
[iPad Pro] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list
[iPad Pro] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics ───────────────────
[iPad Pro] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly
[iPad Pro] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD
[iPad Pro] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links
[iPad Pro] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs
[iPad Pro] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
[Galaxy S9+] tests\e2e\admin-crm-pages.spec.ts:18:7 admin CRM pages TaxProfiles page loads with grid and add button
[Galaxy S9+] tests\e2e\admin-login.spec.ts:8:7 admin authentication logs in through the real browser UI and reaches dashboard
[Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:10:7 Admin Pages E2E (Manual) Login page loads
[Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:16:7 Admin Pages E2E (Manual) Dashboard page loads
[Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:31:7 Admin Pages E2E (Manual) Blog page loads
[Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:46:7 Admin Pages E2E (Manual) Inquiry page loads
[Galaxy S9+] tests\e2e\admin-pages-manual.spec.ts:61:7 Admin Pages E2E (Manual) CRM pages load
[Galaxy S9+] tests\e2e\admin-responsive.spec.ts:21:7 admin responsive design (admin account) dashboard loads correctly on all viewports
[Galaxy S9+] tests\e2e\admin-responsive.spec.ts:85:7 admin responsive design (admin account) drawer responsiveness on mobile
[Galaxy S9+] tests\e2e\admin-responsive.spec.ts:103:7 admin responsive design (admin account) form inputs are accessible on mobile
[Galaxy S9+] tests\e2e\admin-responsive.spec.ts:126:7 admin responsive design (admin account) buttons are clickable on all viewports
[Galaxy S9+] tests\e2e\blog-seo.spec.ts:6:7 blog seo exposes title description and canonical on blog detail pages
[Galaxy S9+] tests\e2e\blog-validation.spec.ts:9:5 Blog Management Full Flow - Real Domain Validation
[Galaxy S9+] tests\e2e\contact-submit.spec.ts:27:7 contact submit creates an inquiry and shows it in admin list
[Galaxy S9+] tests\e2e\contact-submit.spec.ts:58:7 contact submit submitting the public Contact.cshtml form shows the success message
[Galaxy S9+] tests\e2e\dashboard-check.spec.ts:4:5 check dashboard metrics ─────────────────
[Galaxy S9+] tests\e2e\full-admin-pages.spec.ts:5:5 production: verify all admin pages load correctly
[Galaxy S9+] tests\e2e\full-user-flow.spec.ts:6:7 프로덕션 사용자 흐름 테스트 › 홈페이지 → 로그인 → 대시보드 → 블로그 CRUD
[Galaxy S9+] tests\e2e\inquiry-detail.spec.ts:9:7 inquiry detail shows the created inquiry and admin action links
[Galaxy S9+] tests\e2e\login-test.spec.ts:8:5 Admin Login Page - prerendered HTML contains the form before JS runs
[Galaxy S9+] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
[Galaxy S9+] tests\e2e\route-isolation.spec.ts:6:7 route isolation public home does not boot the admin app
[Public Smoke] tests\e2e\public-smoke.spec.ts:7:7 public smoke @smoke loads the home page and key public pages with SEO basics
3 skipped
40 did not run
23 passed (31.6m)