Home Testing Technique Automated Testing

Automated Testing

automated-testing

feature-image-sikuli-robotframework

Robot Framework Sikuli 101

Brief สั้นๆ ทําแต่ Automate บนเว็ปมาตลอด อยู่แต่บน Browser จนเป็น comfort zone ไปแล้วถ้าเราจะทํา Automate test บน window หรือ อะไรที่อยู่บนหน้าจอละจะทําไง? คําตอบคือ "Sikuli" นั้นเองง Sikuli คืออะไร? เจ้านี้คือ Library ที่จะมาช่วยเราแก้ปัญหาทุกอย่าง เพราะเจ้าตัวนี้มันจะช่วยให้เรา automate ทุกๆอย่างที่เราเห็นบนหน้าจอเรา โดยไม่ได้สนใจเรื่องของ Locator ID หรือ อื่นๆเลยแม้แต่น้อย เพราะมันใช้ image recognition...
feature-image-dynamic-install-application-appium

Appium Dynamic Install Application

เคยมั้ยที่เวลาเราทํา Automation scripts แล้วเจอ scenario ที่ต้องทดสอบ Behavior ของ Application โดยการ install และ uninstall application ออก เพื่อดูว่ามันสามารถทํางานได้ถูกต้องมั้ย เมื่อลูกค้ามาใช้งาน Application เช่น"แอพ A จะต้องเปิด หน้าเว็ปของ facebook ถ้ามันไม่มี facebook application อยู่บนเครื่อง แต่ถ้ามี facebook application มันจะต้องเปิด facebook...
feature-image-android-ios-inspector

วิธีการใช้ Native Selector ใน Appium

และแล้ววันนี้ก็มาถึง วันที่จะได้เล่นกับ Native Selector ของ Android และ IOS การมาถึงขั้นนี้ หรือใครอ่านอันนี้ มันเหมือนกับระดับ Advance มากกว่าการทํา Automate บน Web มากๆๆเลย เพราะการทํา Automateบนเว็ปมันไม่ได้มีเงื่อนไขหรือความซับซ้อนมากเท่าการทําบน devices ทั่วไปอย่างนี้ บนเว็ปอย่ามากก็ใช้ css selector เล่นกับ element มากหน่อยก็เขียน Library เข้าไปเพิ่ม เพื่อควบคุมอะไรหลายๆอย่างเบื้องหลังแต่ทาง devices เนี่ยมันมีหลายอย่างที่มีความแตกต่าง...
feature-image-drag-and-drop

Drag And Drop ใน Robot Framework

สรุปสั้นๆ drag and drop ด้วย html5 ไม่ Support ใน selenium ตอนนี้ ถ้าจะทําต้อง workaround ด้วยการใช้ jquery จําลองวัตถุนั้นๆให้กลายเป็น draggable object แล้วถึงจะเทส หรือ ใช้วิธีหา x,y ของ object แล้วลากจาก x,y coordinate นั่นเอง มาเรียนรู้ Drag And Drop กันเถอะ จากบทความ วิธีการ...
feature-image-of-robot-framework-regular-expression

Regular Expression ใน Robot Framework

จริงๆผมเชื่อว่าทุกคนรู้จัก Regular Expression อยู่แล้วละ เพราะมันมีอยู่ในทุกๆภาษาเลยอาจจะแตกต่างกันบ้างเล็กน้อยก็เท่านั้น ซึ่งเจ้า Regular Expression เนี่ยจริงๆมันคือ กลุ่มคํา หรือ รูปแบบที่ใช่ในการค้นหาข้อความหรือตัวอักษรต่างๆว่าตรงตามเงื่อนไขหรือไม่อย่างที่ Robot Framework ใช้ก็คือ Python RE (ตัวย่อของ regular expression) เพราะ อย่างที่รู้กัน Robot Framework สรา้งบนพื้นฐานของ Python นั้นเอง Regular Expression พื้นฐาน อยากจะบอกว่าพื้นฐานของ Regular Expression...
feature-image-how-to-use-test-data-in-robot-framework

วิธีจัดการ Test Dataใน RobotFramework

สรุปสั้นๆก่อนอ่านเนื้อหา การจัดการกับ Test Data ใน Robot Framework มีหลากหลายวิธีมาก แต่วิธีที่ทุกคนชอบใช้กันก็คือ เอาไฟล์ test data ใส่ใน excel ไฟล์ หรือ csv เพราะมันสามารถอ่านง่ายกว่า และแก้ไขง่ายด้วย แต่ด้วยวิธีนี้ทําให้เราต้องมาเขียน Library เพิ่มเพื่ออ่านไฟล์ ซึ่งมันสามารถดูได้จากเนื้อหาในบทความนี้ ว่าอะไรเป็นอะไร เพื่อให้เข้าใจง่ายขึ้น และเขียนต่อยอดได้เอง Test Data คืออะไร? การเขียนเทสไม่ว่าจะบนเว็ป มือถือ หรืออื่นๆ เราต้องมีการออกแบบ Test...
faature-image-selenium-advance-interaction

วิธีการ Interact กับ UI แบบ Advance ด้วย Selenium2library

หลังจากเรียนรู้การเขียนโปรแกรมเพื่อทํา Automation กันมาซักพัก เราก็มาเรียนรู้วิธีการ Interact กับ UI ในรูปแบบ Advance กันบ้างเพราะปกติแล้วเวลาเราเริ่มกับ Selenium ใหม่ๆเราก็จะไปยึดกับพวก deafult function ของมันที่มีให้เช่น พวก click element หรือ drag and drop ซึ่งจริงๆถ้าเราไม่ได้ใช้อะไร Advance เกินไป การใช้แค่พวก click element ก็ถือว่าพอสําหรับการทําเทสแล้วแต่ถ้าสมมุติต้องการที่จะ interact กับมันในแบบที่มีความลึกซึ้งยิ่งเข้าไปอีก เราก็สามารถทําได้...

มาเรียนรู้วิธีการ Inspect สิ่งต่างๆเพื่อทํา Automate กันเถอะ

บทความนี้สั้นๆไม่มีไรมากแต่น่าจะช่วยหลายๆคนที่กําลังมีปัญหาได้ไม่มากก็น้อยเลยล่ะเพราะเราจะมาเรียนรู้วิธีการ inspect สิ่งต่างๆเพื่อทํา automate กันเถอะ ซึ่งการหา locator ของ element ถือเป็นเรื่องพื้นฐานของการทํา automate เลยก็ว่าได้ ถ้าเราไม่รู้ล่ะก็ปัญหามาแน่ๆ locator ก็เช่นเรื่องของ css selector ที่เคยเขียนไปแล้วนั่นเองทีนี้ก็อย่างที่เรารู้ดีน่ะว่าเวลาเราจะ inspect element เราก็จะเปิด Chrome DevTools ขึ้นมานั่นเอง (กดF12) แล้วก็ไปเลือก inspect element ต่างๆบนหน้าเว็ป ตามรูปข้างล่างนี้นั่นคือท่าปกติ เราก็กด...
feature-image-appium-cordova-crosswalk-issues

ศึก Automate 3 เศร้า กับ Appium, Cordova และ Crosswalk!

ในยุคนี้แล้วการเขียนแอพมือถือด้วย Native น้อยลงอย่างมาก ถ้าไม่ใช่แอพที่มีการใช้ Animation หรือเรื่องของ Hardware หนักๆนั้นก็คงไม่เลือก Native เป็นแน่ ด้วยเหตุผลหลายๆอย่างๆทั้งเวลา และ ค่าใช้จ่ายในการจัดการดูแลมันมันเลยก็เป็นเหตุผลที่ทําให้ Apache Cordova กลายมาเป็นฮิตสุดๆๆไปเลย โดยจุดเด่นของ Cordova เนี่ยก็คือเขียนทีเดียว Reuseable ได้ทุก Platform ทั้ง Android,IOS,Window สามารถเข้าถึง Native device API ได้ด้วยเหตุผลพวกนี้ทําให้ แอพ ส่วนใหญ่ในปัจจุบันนี้กลายเป็น...
feature-image-robotframework-argument-technique

เทคนิคการใช้ Argument ใน Robot Framework

เรื่องง่ายๆอย่างการส่ง Argument ไปมาระหว่าง Keyword ฟังดูแล้วเหมือนจะไม่มีอะไร ยุ่งยาก ก็แค่กําหนดค่าว่าจะรับตัวแปรกี่ตัว จะส่งกี่ตัว ก็แค่นั้นNoted: แบบนี้เรียก Positonalแต่จริงๆแล้วมันยังมีเทคนิคมากมายที่มีประโยชน์มากๆ เนื่องจาก Robot Framework สร้าง Based on Python เพราะฉะนั้นพวกเทคนิคต่างๆที่ Python ทําได้ Robot Framework ก็ทําได้ด้วยเหมือนกัน ซึ่งวันนี้จะมาพูดถึงเรื่องการใช้งาน *args กับ **kwargs หรือ เรียกอีกอย่างว่า*args...

HOT NEWS