บทความทั้งหมด
หลายโทรศัพท์และแท็บเล็ตพรีวิวแอปในเครื่องผ่าน tunnel ที่แชร์
mobile testinglocalhost tunnelingQAcross-device

ทดสอบบนมือถือด้วย tunnel localhost

คุณทดสอบแอปบนอุปกรณ์มือถือได้ขณะมันรันบน localhost โดยเปิดผ่าน URL HTTPS สาธารณะ โทรศัพท์และแท็บเล็ตเข้าถึง 127.0.0.1 บนแล็ปท็อปของคุณไม่ได้ แต่ tunnel localhost เชื่อมช่องว่างนี้ทันที

ทำไมอุปกรณ์มือถือเข้าถึง localhost ไม่ได้

เมื่อคุณรันเซิร์ฟเวอร์ dev บนแล็ปท็อป มันฟังบนที่อยู่ loopback (127.0.0.1 หรือ localhost) ที่เครื่องคุณเท่านั้นเข้าถึงได้ แม้โทรศัพท์อยู่ใน Wi-Fi เดียวกัน การพิมพ์ http://192.168.x.x:3000 มักล้มเหลวเพราะกฎไฟร์วอลล์ ข้อกำหนด HTTPS หรือนโยบาย CORS

tunnel localhost ให้โทรศัพท์คุณได้ URL HTTPS มาตรฐานที่ส่งต่อไปยังกระบวนการในเครื่อง — ไม่ต้องตั้งค่าเครือข่าย

สิ่งที่การทดสอบมือถือจับได้แต่ emulator พลาด

  • เป้าหมายสัมผัสจริง พฤติกรรมการเลื่อน และการจัดการ gesture
  • ขนาด viewport จริงข้ามอุปกรณ์ iOS และ Android
  • ลักษณะเฉพาะเบราว์เซอร์มือถือ (Safari, Chrome, WebView ในแอป)
  • ประสิทธิภาพบนฮาร์ดแวร์จริง ไม่ใช่สภาพแวดล้อมจำลอง
  • พฤติกรรมกล้อง ตำแหน่ง และ API เฉพาะอุปกรณ์
  • การ redirect OAuth และ deep-link บนเบราว์เซอร์มือถือ

ทีละขั้น: ทดสอบมือถือด้วย PortPreview

  1. เริ่มเซิร์ฟเวอร์ dev ในเครื่อง (เช่น npm run dev บนพอร์ต 3000)
  2. รัน npx portpreview 3000 เพื่อรับ URL HTTPS สาธารณะ
  3. เปิด URL บนเบราว์เซอร์โทรศัพท์ (หรือสแกน QR code หากทีมแชร์ลิงก์แบบนั้น)
  4. ทดสอบ layout responsive การนำทาง ฟอร์ม และ flow auth บนอุปกรณ์จริง
  5. แชร์ URL เดียวกันกับเพื่อน QA หรือดีไซน์เพื่อรีวิวข้ามอุปกรณ์

checklist ทดสอบมือถือ

layout responsive

ตรวจ breakpoint การปรับขนาดฟอนต์ การโหลดภาพ และพฤติกรรม overflow บนโทรศัพท์และแท็บเล็ต

การโต้ตอบแบบสัมผัส

ทดสอบเป้าหมายแตะ gesture ปัด pull-to-refresh และ header แบบติดด้านบนภายใต้อินพุตสัมผัสจริง

flow การยืนยันตัวตน

การ redirect OAuth และล็อกอินแบบ magic-link ทำงานต่างกันบนเบราว์เซอร์มือถือ ทดสอบรอบ auth เต็มบนอุปกรณ์ ดู การทดสอบ callback OAuth สำหรับรายละเอียดการตั้งค่า

ประสิทธิภาพ

วัดการโหลดหน้า ผลกระทบของ bundle JavaScript และการเพิ่มประสิทธิภาพภาพบนอุปกรณ์ระดับกลาง — ไม่ใช่แค่แล็ปท็อปนักพัฒนา

เคล็ดลับทดสอบ localhost บนมือถือให้เชื่อถือได้

  • ใช้ HTTPS: ฟีเจอร์มือถือหลายอย่าง (service worker, cookie ปลอดภัย, ตำแหน่ง) ต้องการ HTTPS ซึ่ง tunnel ให้โดยปริยาย
  • ปิด cache ระหว่างทดสอบ: รีเฟรชแบบ hard หรือโหมดไม่ระบุตัวตนเพื่อเลี่ยง asset เก่า
  • ทดสอบหลายอุปกรณ์: iOS Safari และ Android Chrome จัดการ CSS และ JavaScript ต่างกัน
  • รักษา tunnel ให้ทำงาน: URL หยุดทำงานเมื่อคุณปิดเซสชัน CLI

แชร์พรีวิวมือถือกับทีม

แทนการบันทึกภาพหน้าจอ แชร์ URL tunnel ให้เพื่อนทดสอบบนอุปกรณ์ตัวเอง อ่าน วิธีแชร์เซิร์ฟเวอร์ dev ในเครื่อง สำหรับ workflow การทำงานร่วมกัน

เริ่มใช้ PortPreview ฟรี เพื่อทดสอบมือถือเร็วจาก localhost

คำถามที่พบบ่อย

ทดสอบ localhost บนโทรศัพท์ได้อย่างไร?
เริ่ม tunnel localhost ด้วย PortPreview เพื่อรับ URL HTTPS สาธารณะ แล้วเปิด URL นั้นในเบราว์เซอร์โทรศัพท์ tunnel ส่งต่อ traffic ไปยังเซิร์ฟเวอร์ dev ในเครื่อง
ทำไมโทรศัพท์เข้าถึง localhost บนแล็ปท็อปไม่ได้?
ที่อยู่ localhost เป็นอินเทอร์เฟซ loopback ที่เข้าถึงได้เฉพาะเครื่องที่รันเซิร์ฟเวอร์ tunnel สร้าง URL สาธารณะที่ส่งต่อไปยังกระบวนการในเครื่อง
ต้องใช้ HTTPS สำหรับทดสอบมือถือไหม?
ใช่ สำหรับฟีเจอร์มือถือหลายอย่างรวมถึง cookie ปลอดภัย service worker และการ redirect OAuth tunnel localhost ให้ HTTPS โดยปริยายโดยไม่ต้องตั้งค่าใบรับรอง