\

Facebook


วันพฤหัสบดีที่ 22 มิถุนายน พ.ศ. 2560

ยุคสมัยแห่ง Automate เมื่อ Selenium เข้ามาเป็น QA แทนมนุษย์ (Part 1)


ยอมรับสักทีเถอะว่ายุคนี้ ปี 2017 มันเริ่มเข้าสู่ยุคหุ่นยนต์แล้ว ไหนจะรถไร้คนขับ ไหนจะ AlphaGo ที่เล่นเกมส์โกะชนะมนุษย์ที่เลานเก่งที่สุดในโลก เดินไปทางไหนคอมพิวเตอร์ก็เข้ามาคิดแทนมนุษย์แล้ว และมนุษย์กำลังจะตกงานมากขึ้นเพราะมีคอมพิวเตอร์ทำงานแทน วงการเขียนโปรแกรมก็เช่นเดียวกันโดยเฉพาะการเทสโปรแกรมที่ต้องเทสซ้ำๆ โมดูลเดิมๆบ่อยๆซึ่งต้องจ้างคนมาทำงาน QA แถมมนุษย์ยังมีโอกาสผิดพลาดอีกแบบนี้ไม้เหลือเหตุผลใดที่จะเปลี่ยนมาใช้ Automate tool

เครื่องมือเทสเสียเงินก็มี แถมฟีเจอร์โหด แต่ถ้าพูกถึงเครื่องมือฟรีผมขอแนะนำ Selenium ในงานเทสของคุณโดยเจ้าตัว Selenium เนี้ยหลายคนจะคุ้นหูคุ้นตากับตัว Selenium IDE ที่เป็นปลั้กอินติดกับ Firefox Web Browser โดยเราทำเพียงแค่คลิกบันทึก Event ที่จะทำงานบนหน้าจอครั้งแรกครั้งเดียว แล้วโปรแกรมก็จะรันอีกกี่ครั้งก็ได้ สมมุติว่าสร้างชุดการเทสขึ้นมาหนึ่งอย่าง ให้วิ่งเข้าไปกรอกข้อมูลบนหน้าเว็บแล้วกด Submit ถ้าผ่าน โปรแกรมจะวิ่งไปหน้า Success แต่ถ้าไม่สำเร็จไปหน้า Error Page แบบนี้เราก็สามารถ Capture URL สุดท้ายเพื่อเช็คข้อมูลได้

Selenium WebDriver เหมาะกับงานประเภทไหน

1. งานที่ต้อง Import TestCase จาก Project Unit Test
2. งานที่ต้องการใช้ feature ของ .Net Framework เข้ามาเกี่ยวข้อง เช่น ดึงข้อมูลจากหน้าเว็บแล้วเอาข้อมูลไปเซฟลง Database หรืออาจเรียก Web Service เพื่อตรวจสอบค่าบางอย่าง
3. งานที่ซ้ำๆ ซ้อนๆ มนุษย์ทำแล้วน่าเบื่อ เช่น generate เอกสารจากปุ่ม Download ทั้งหมด 100 ไฟล์ ใครมันจะมานั้งทำจนมือหงิก

แล้วมันไม่เหมาะกับงานประเภทไหน

1. งานเทสโปรเจกที่สเกลเล็กจนใช้คนทำจะไวกว่า
2. งานที่รีบเร่งส่งงาน เพราะการเขียนตัว Unit Test ใครเวลาพอสมควร (แต่สบายระยะยาว)
3. งานที่โปรแกรมเมอร์ ไม่สามารถออกแบบ Test Case ด้วยตัวเองให้ครอบคลุม เพราะบางอย่างดูด้วยตาจะชัดเจนกว่ามาก เช่นเช็คสีของข้อความที่แสดงบนหน้าเว็บ

หยุดพล่ามแล้วเริ่มลงมือทำความรู้จักกับ Selenium กันดีกว่า ขอเริ่มอธิบายสั้นๆตามความเข้าใจก่อนว่า Selenium คือหน้ากากที่จะช่วยเราแปลภาษาสำหรับติดต่อสื่อสารกับ Web Browser เช่น เราอยากเข้าเว็บ Google แล้ว Search คำว่า “solid programming” เราจะต้องทำอะไรบ้าง อันดับแรก
- กรอก URL : http://www.Google.coth
- กรอกข้อความลงไปใน Search textbox ว่า “solid programming”
- กดปุ่มค้นหา

ทั้งหมดสามสเตปนี้เราต้องเข้าโปรแกรมเป็นภาษาที่ Selenium เข้าใจแล้วสุดท้ายมันจะไปคุยกับ browser ให้เองว่าต้องทำอย่างไร ซึ่งมันก็สามารถคุยได้กับทั้ง firefox, Google Chrome, Internet Explorer  และอีกมากมาย (PhantomJS ยังได้เลย) ทำให้เราเขียน test case ครั้งเดียวแต่เทสได้ทั้ง 3 browser ไงหล่ะเริ่มเห็นความสบายอยู่ข้างหน้าละยัง


โดยเราจะสนใจการเขียนโปรแกรมโดยใช้ Selenium WebDriver เป็นหลัก ถ้าท่านต้องการเขียนแบบที่เป็น Plugin FireFox ต้องอ่านบทความนี้ ส่วนสกิลที่จำเป็นสำหรับเขียน Unit Test ในครั้งนี้

1. C# programming เราจะเขียนด้วย C#  กันเพราะต้องสร้าง Unit test project
2. Nunit framework เป็น Framework สำหรับสร้าง TestCase
3. Selenium WebDriver syntax รูปแบบการเขียน การสร้าง web driver
4. HTML Xpart เข้าใจว่า html จาก root element ไล่เรียงไปจนถึง element ที่เราสนใจมี XPART เป็นแบบไหน

ซึ่งเดียวผมจะค่อยๆอธิบายแต่ละข้อรวมไปถึงวิธีการใช้งาน ตั้งแต่ต้นจนจบ บทต่อไป เริ่มสร้าง Unit Test สำหรับ Selenium

ไม่มีความคิดเห็น:

May be like this posts

  • 26/04/2013 - 0 Comments
    เรื่องของ Delegate ในภาษา C# เรื่องนี้ ไม่เคยเจอเลยในตอนเรียน แต่มันก็ไม่ใช่ศาสตร์ขั้นสูงอะไรเลย…
  • ระบบ LogIn ใน Windows Form Application
    04/04/2013 - 0 Comments
    ระบบ LogIn ใน Windows Form Application ซึ่งผมได้สร้างข้อมูลใน Table “Users” ไว้แล้ว…
  • แก้ปัญหา  Shutdown ไม่ลง
    12/02/2018 - 0 Comments
    การ Shutdown หลังใช้งาน PC/ Notebook ระบบ Windows เสร็จทำให้เครื่องใช้งานอยู่กับเราได้นานกว่าการ sleep…
  • แกะโค๊ด JAVA จากไฟล์ APK บน GOOGLE PLAY
    07/08/2014 - 0 Comments
    ปกติแล้ว app android จะถูกคอมไพล์จาก JAVA มาเป็น .apk เรียบร้อย เพื่ออินสตอลงมือถือ แต่วันนี้เราจะเอา apk…
  • Debug PHP Code ด้วย VS Code 2016 ของฟรีและดีงามจาก Microsoft
    23/11/2016 - 0 Comments
    หากคุณเป็นนักพัฒนาภาษา C# หนึ่งในโปรแกรม Editor ที่มีความสามารถสูงในท้องตลาดและคุณต้องไม่พลาดแน่นอนคือ…
  • Backup ไฟล์ apk จาก Bluestack อีกแนวทางการดาว์นโหลดไฟล์apk
    15/08/2014 - 0 Comments
    บทความที่เเเล้วผมแนะนำการโหลดไฟล์ apk มาตรงๆจาก Google Play Store ไปแล้ว คราวนี้ลองอีกวิธีนึง…
  • [VS2017] แก้ปัญหา The operation could not be completed ตอน  add referrence
    01/03/2018 - 0 Comments
    ใครที่ใช้งาน Visual Studio ไปสักพักเเล้วงงอแงงเกิด error ประมาณนี้ “The operation could not be completed”…