Selenium (ซิลิเนี่ยม) คืออะไร

ภาพประกอบบทความ
ภาพประกอบบทความ

         ก่อนจะรู้จัก Selenium (ซิลิเนี่ยม) เราต้องรู้ก่นว่า Automated Testing (ออโต้เมท เทสติ้ง) คือ การที่เราใช้ Tools (ทูลส์) ในการทำการทดสอบแทนเรา และยังช่วยในเรื่องของการลดความผิดพลาดในการทดสอบ ทำให้การทดสอบมีเสถียรภาพมากขึ้น

         Selenium (ซิลิเนี่ยม) เป็น Software Testing Framework (ซอฟแวร์ เทสติ้ง เฟรมเวิร์ค) ที่มีประสิทธิภาพตัวหนึ่ง เอาไว้ใช้สำหรับทำ Automated Testing (ออโต้เมท เทสติ้ง) เขียน Test Case (เทส เคส) เพื่อทดสอบเว็บ แอพพลิเคชั่น

         ซิลิเนี่ยม เป็น Open-Source จึงสามารถทำให้เรานั้นสามารถ Customize เพื่อเพิ่มประสิทธิภาพ WebDriver ได้ตามต้องการ สามารถไปร่วมกับ Tools อื่น ๆ ได้ตามต้องการ โดย ซิลิเนี่ยมนั้น สามารถพัฒนาได้จากภาษาคอมพิวเตอร์ได้มากมาย ดังนี้

1. Java

2. Python

3. Ruby

4. C#

5. JavaScript

6. PHP

7. Perl

และซิริเนี่ยมยังสามารถรันบนเว็บเบราเซอร์ต่าง ๆ ได้มากมาย เช่น 

1. Google Chrome

2. Firefox

3. Safari

4. Opera

5. Internet Explorer

 

     โดย Selenium มี 2 แบบ ด้วยกัน คือ Selenium IDE คือ Add-On บน Firefox สามารถทำ Record & Playback คนที่ไม่มีพื้นฐานการเขียนโปรแกรมก็ทำได้ ส่วนอีกแบบ Selenium WebDriver คือ API ที่ใช้ในการ Drive เบราเซอร์ให้ทำตามที่เราต้องการ โดยเราสามารถใช้ Programming language ที่เราถนัดในการสั่งได้ นั้นเอง 

 

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 นั้นเป็นโปรแกรมประเภท ฟรี ที่เราสามารถนำมาใช้งานได้แบบฟรีๆ ซึ่งจะมีให้ใช้งานถึง 2 แบบ โดยจะเป็น Selenium IDE ที่เป็น Add-On บน Firefox ใช้งานแบบง่ายๆได้ทันที และอีกแบบคือ Selenium WebDriver คือ API ที่นำมาใช้งานในการทำโปรแกรมเทสที่มีความซับซ้อนและมีรายละเอียดมากขึ้นได้ โดยสมารถรองรับภาษา ได้หลายภาษาไม่ว่าจะเป็น Java Python C# JavaScript Perl และ PHP ทำให้ผู้พัฒนาสามารถพัฒนาโปรแกรมเทสได้ไม่ยาก เพราะรองรับได้หลายภาษานั้นเอง 

   นอกจากบทความ Selenium แล้วเรายังมีบทความอื่นๆที่หน้าสนใจ เช่น Bot (บอท) คืออะไร Botnest (บอทเน็ต) คืออะไร และวิธีป้องกัน AI Bot (เอไอ บอท)เลียนแบบดวงตามนุษย์ หรือ  วิธีสร้าง Chat Bot Line ด้วย dialogflow หรือ จะเป็นบทความหมวดอื่นๆ ก็สามารถเข้ามาอ่าน หรือ ติดตามกันได้ที่นี้เลย

 

 

Selenium Automate Test

 

Selenium IDE

อ้างอิงข้อมูลจาก

Selenium คืออะไร.[ออนไลน์].เข้าถึงได้จาก :http://testingisamust.blogspot.com/2014/07/selenium.html .[20.3.2020]

ยุคสมัยแห่ง Automate เมื่อ Selenium เข้ามาเป็น QA แทนมนุษย์ (Part 1).[ออนไลน์].เข้าถึงได้จาก :http://2weektrain.blogspot.com/2017/06/automate-selenium-qa-part-1.html .[20.3.2020]

มาทำ Automated Testing ด้วย Selenium กันเถอะ.[ออนไลน์].เข้าถึงได้จาก :https://medium.com/@hohparanun/มาทำ-automated-testing-ด้วย-selenium-กันเถอะ-1fb961a60349 .[20.3.2020]

What is selenium web driver?.[ออนไลน์].เข้าถึงได้จาก :https://www.tutorialspoint.com/what-is-selenium-web-driver .[20.3.2020]

Selenium WebDriver What is it?.[ออนไลน์].เข้าถึงได้จาก :https://testguild.com/selenium-webdriver/ .[20.3.2020] 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามฟิจเจอร์ขำระเงิน QR Code ของ E-Payment ในใบแจ้งหนี้ [MDRental]
โดย eange08 จ 07 ก.ค. 2025 1:11 pm บอร์ด Joomla Dev
2
10
จ 07 ก.ค. 2025 1:18 pm โดย tsukasaz View Topic สอบถามฟิจเจอร์ขำระเงิน QR Code ของ E-Payment ในใบแจ้งหนี้ [MDRental]
Falsy ใน Python คืออ่ะไร
โดย Sakana ศ 04 ก.ค. 2025 4:41 pm บอร์ด Python Knowledge
0
34
ศ 04 ก.ค. 2025 4:41 pm โดย Sakana View Topic Falsy ใน Python คืออ่ะไร
Python ใช้ count() แทน for loop ในการนับจำนวน
โดย Sakana พฤ 03 ก.ค. 2025 6:30 pm บอร์ด Python Knowledge
0
46
พฤ 03 ก.ค. 2025 6:30 pm โดย Sakana View Topic Python ใช้ count() แทน for loop ในการนับจำนวน
การจัดการข้อมูล Python ด้วย filter() + reduce()
โดย Sakana พฤ 03 ก.ค. 2025 5:52 pm บอร์ด Python Knowledge
0
35
พฤ 03 ก.ค. 2025 5:52 pm โดย Sakana View Topic การจัดการข้อมูล Python ด้วย filter() + reduce()
itertools จัดการข้อมูลวนซ้ำอย่างมีประสิทธิภาพใน Python
โดย Sakana พ 02 ก.ค. 2025 4:31 pm บอร์ด Python Knowledge
0
43
พ 02 ก.ค. 2025 4:31 pm โดย Sakana View Topic itertools จัดการข้อมูลวนซ้ำอย่างมีประสิทธิภาพใน Python
reduce() ใน Python: การลดข้อมูลซ้ำๆ ให้เหลือผลลัพธ์เดียว
โดย Sakana พ 02 ก.ค. 2025 11:32 am บอร์ด Python Knowledge
0
57
พ 02 ก.ค. 2025 11:32 am โดย Sakana View Topic reduce() ใน Python: การลดข้อมูลซ้ำๆ ให้เหลือผลลัพธ์เดียว
สร้าง QR Code ตอบสนองแบบ Real-Time ด้วย JavaScript
โดย Sakana อ 01 ก.ค. 2025 11:32 am บอร์ด jQuery & Ajax Knowledge
0
63
อ 01 ก.ค. 2025 11:32 am โดย Sakana View Topic สร้าง QR Code ตอบสนองแบบ Real-Time ด้วย JavaScript
วิธีสร้าง QRCODE ด้วย PHP ตั้งแต่เริ่มต้น
โดย Sakana อ 01 ก.ค. 2025 10:46 am บอร์ด PHP Knowledge
0
59
อ 01 ก.ค. 2025 10:46 am โดย Sakana View Topic วิธีสร้าง QRCODE ด้วย PHP ตั้งแต่เริ่มต้น