Programming Archive

Playwright :: บันทึก VDO การทดสอบกันหน่อย

ไหน ๆ ก็ลองใช้  Playwright ในการทำ End-to-End testing บน web browser แล้ว ก็อยากลองทำการบันทึก VDO การทดสอบหน่อย ก็ไปเจอว่ามี module ชื่อว่า playwright-video ให้ใช้งาน ซึ่งทำงานร่วมกับ ffmpeg มาลองใช้งานกันปล. ใน Cypress มามาให้เลย ไม่ต้องทำอะไร

Read More…

สวัสดี Playwright สำหรับ Web browser testing

เห็นมีการ share เรื่องของ Playwright ที่พัฒนาจาก Microsoft กันเยอะ เลยลองมาทำความรู้จักและลองใช้งานกันหน่อย เป้าหมายหลัก ๆ ของ Playwright ประกอบไปด้วย End-to-End testing Cross-browser automation library สนับสนุน web browser หลัก ๆ ทั้ง Google Chrome, Firefox และ Microsoft Edge ตัวใหม่ สามารถทำงานได้บน device ต่าง ๆ ได้ ทั้ง desktop, mobile และ tablet เขียนชุดการทดสอบที่ทำงานได้เร็ว และ เสถียร มีความน่าเชื่อถือ ซึ่งเข้ามาช่วยแก้ไขปัญหาของการทดสอบบน weeb browser ต่าง ๆ ที่ช้าและไม่ค่อยเสถียร ใช้ API เดียวสำหรับทุก ๆ  browser ได้เลย [&hellip

Read More…

ว่าง ๆ มาลองเขียน Node.js ทำงานร่วมกับ Rust

เห็นว่า Deno นั้นพัฒนาด้วยภาษา Rust แต่ก็ยังเขียน code ด้วยภาษา JavaScript ได้ ก็เลยอยากลองดูว่า ถ้าเราเขียน Node.js โดยใช้ library/module ที่พัฒนาด้วยภาษา Rust แล้ว มันน่าเร็วขึ้นกว่าเดิมไม่น้อย ก็เลยลองค้นหาตัวอย่างและลองพัฒนาเล่น ๆ ดูหน่อย มาเริ่มกันเลย

Read More…

Deno :: ลองสร้าง API ด้วย Oak framework

ว่าง ๆ มาลองพัฒนา API ด้วย Oak Oak มันมาจาก Koa และ Koa ก็มาจากทีมพัฒนา Express ใน Node.js นั่นเอง โดยที่ Oak อธิบายว่า เป็น middleware framework สำหรับการพัฒนา HTTP server ดังนั้นความสามารถหลัก ๆ จึงประกอบไปด้วย Middleware ต่าง ๆ ตามรูปแบบของ express และ koa รวมทั้งยังมี Application และ Context ให้ใช้งาน

Read More…

Deno :: ทำการทดสอบด้วย library ชื่อว่า Orange

ใน timelineใน Twitter ของ Deno ทำการแนะนำ library เกี่ยวกับการทดสอบชื่อว่า Orange จะมี decoration ให้ใช้งานง่ายขึ้น (ยังไม่มี code/test coverage เช่นเดิม) น่าจะช่วยทำให้การทดสอบง่ายขึ้นกว่า Deno testing แบบเดิม มาลองใช้งานกันดู

Read More…

ทำความรู้จักกับ Generic ในภาษา Go

เรื่อง Generic ในภาษา Go น่าจะเป็นอีกหนึ่งเรื่องที่พูดถึงกกันมาก ๆ โดย draft version ใหม่จะเอาแนวคิดของ contract ออกไป จะเหลือเพียง type parameters เนื่องจากทำให้เกิดความสับสนใจการใช้งาน ถ้าใครต้องการทดลองใช้ความสามารถนี้ ทำได้ 2 วิธีคือ

Read More…

เขียน Unit test สำหรับทดสอบ Firebase

หลังจากที่ดู Firebase Live เรื่อง Unit testing security rules with the new Firebase emulator suite     พบว่ามีกลายอย่างที่น่าสนใจมาก ทั้ง Firebase emulator suite ที่เราสามารถใช้จำลอง Firebase ได้เลย และสามารถเขียน test case สำหรับทดสอบการทำงานกับ Firebase emulator ได้อีกผ่าน library @firbase/testing ประกอบไปด้วย การทดสอบ security rule ว่าทำงานถูกต้องตามที่เรากำหนดหรือไม่ การทดสอบการทำงานของระบบที่ทำงานร่วมกับ Realtime Database และ Firestore เป็นต้น เรามาเรียนรู้ทีละตัวกันดีกว่า

Read More…

สวัสดี Prisma 2

Prisma คืออะไร ? database toolkit ที่เป็น open source ประกอบไปด้วย 3 ส่วนคือ Prisma client คือเครื่องมือสำหรับสร้าง code ฝั่ง client แบบอัตโนมัติ (Node.js หรือ TypeScript) Prisma migrate (experimental) คือการทำ data model และ database migration ในแบบ declarative Prisma studio (experimental) เป็นระบบ GUI สำหรับดูและแก้ไขข้อมูลใน database

Read More…

[Cypress] แนวทางของการเข้าถึง Element ที่ดี

มีคำถามเกี่ยวกับการเข้าถึง element ต่าง ๆ ใน User Interface ของการทดสอบพวก UI testing บน web browser  ว่าจะทำอย่างไรดี ? เนื่องจากทำการเข้าถึง element ด้วย xpath บ้าง เข้าถึงด้วย css selector บ้าง เข้าถึงด้วยการเขียน JavaScript บ้าง เพราะว่า มีปัญหาของการทดสอบ จากการเปลี่ยนแปลงมาก ๆ

Read More…

Git :: ขั้นตอนการเปลี่ยนไปใช้ main branch ใน GitHub

เห็นข่าวว่าทาง GitHub จะเปลี่ยนชื่อ branch master ไปเป็นตัวอื่นดังนั้นเรามาเตรียมกันไว้ดีกว่าว่าถึงเวลาจะได้จัดการได้ง่ายขึ้นขั้นตอนเป็นดังนี้

Read More…