ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

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 คืออะไร.[ออนไลน์].เข้าถึงได้จาก :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] 

 
 
กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถาม ผมจะทำ wedhook Messenger ของ fackbook ทำตามวิธี ของ Getting Started แล้วไม่ได้ครับ
โดย jirawoot อ 09 มิ.ย. 2020 2:39 pm บอร์ด Programming - C/C++ & java & Python
0
42
อ 09 มิ.ย. 2020 2:39 pm โดย jirawoot
วิธีการ ลบข้อมูลออกจากฐานข้อมูล Postgres ด้วย Module psycopg2
โดย bolue อ 09 มิ.ย. 2020 1:49 pm บอร์ด Python Knowledge
0
36
อ 09 มิ.ย. 2020 1:49 pm โดย bolue
วิธีการ แก้ไขข้อมูลในฐานข้อมูล Postgres ด้วย Module psycopg2
โดย bolue อ 09 มิ.ย. 2020 1:39 pm บอร์ด Python Knowledge
0
62
อ 09 มิ.ย. 2020 1:39 pm โดย bolue
วิธีการ เพิ่มข้อมูลลงฐานข้อมูล Postgres ด้วย Module psycopg2
โดย bolue อ 09 มิ.ย. 2020 1:30 pm บอร์ด Python Knowledge
0
34
อ 09 มิ.ย. 2020 1:30 pm โดย bolue
ngrok คืออะไร - ทำ Localhost เครื่องของผู้พัฒนาอยู่ในเครื่องสามารถ online บน internet ได้
โดย jirawoot อ 09 มิ.ย. 2020 11:37 am บอร์ด Python Knowledge
0
71
อ 09 มิ.ย. 2020 11:37 am โดย jirawoot
การบัญชีต้นทุน กับการบัญชีบัญชีบริหารเกี่ยวข้องกันอย่างไร
โดย natthanit.r2538 จ 08 มิ.ย. 2020 4:50 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
39
จ 08 มิ.ย. 2020 4:50 pm โดย natthanit.r2538
หนังสือรับรองหักภาษี ณ ที่จ่าย มีความสำคัญอย่างไร
โดย natthanit.r2538 จ 08 มิ.ย. 2020 3:13 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
39
จ 08 มิ.ย. 2020 3:13 pm โดย natthanit.r2538
วิธีการ ทำตาราง ด้วย bootstrap เพื่อความสวยงาม ทำตารางย่อตามหน้าจอได้
โดย bolue จ 08 มิ.ย. 2020 10:56 am บอร์ด Booststap Knowledge
0
66
จ 08 มิ.ย. 2020 10:56 am โดย bolue
ส่วนสำคัญของใบกำกับภาษี
โดย natthanit.r2538 ส 06 มิ.ย. 2020 5:56 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
66
ส 06 มิ.ย. 2020 5:56 pm โดย natthanit.r2538
วิธีการ ไล่สีพื้นหลัง โดย css
โดย bolue ส 06 มิ.ย. 2020 5:03 pm บอร์ด CSS Knowledge
1
69
จ 08 มิ.ย. 2020 1:52 pm โดย LEG
วิธีการสร้าง nav-tabs โดย bootstrap
โดย bolue ส 06 มิ.ย. 2020 4:52 pm บอร์ด Booststap Knowledge
0
76
ส 06 มิ.ย. 2020 4:52 pm โดย bolue
วิธีกดภาพ เล็กด้านข้าง แล้วโชว์ภาพใหญ่ ในพื้นที่ดำๆ โดยใช้ javascript
โดย bolue ส 06 มิ.ย. 2020 4:24 pm บอร์ด Jquery & Ajax Knowledge
0
63
ส 06 มิ.ย. 2020 4:24 pm โดย bolue
กดภาพเล็กๆ ด้านข้าง แล้วโชว์ภาพใหญ่ ในพื้นที่ดำๆ ทำยังไง
โดย bolue ส 06 มิ.ย. 2020 11:20 am บอร์ด JavaScript & Jquery Ajax
2
97
จ 08 มิ.ย. 2020 1:52 pm โดย LEG
Celeb net worth?
โดย Bailey99 ศ 05 มิ.ย. 2020 7:03 pm บอร์ด PHP Knowledge
1
74
ศ 05 มิ.ย. 2020 7:28 pm โดย rajneeskumar
วิธีการ ใช้งาน vuetify คู่กับ vue.js
โดย bolue ศ 05 มิ.ย. 2020 6:02 pm บอร์ด CSS Knowledge
0
39
ศ 05 มิ.ย. 2020 6:02 pm โดย bolue
วิธีการ ติดตั้ง vue.js สำหรับผู้เริ่มต้น หัดเขียน สอนติดตั้ง
โดย bolue ศ 05 มิ.ย. 2020 4:55 pm บอร์ด Jquery & Ajax Knowledge
0
103
ศ 05 มิ.ย. 2020 4:55 pm โดย bolue
วิธีการ ใช้ Grid ออกแบบเป็น responsive design โดย vuetify
โดย bolue ศ 05 มิ.ย. 2020 3:36 pm บอร์ด CSS Knowledge
0
72
ศ 05 มิ.ย. 2020 3:36 pm โดย bolue
วิธีการ เรียนใช้ dialog จาก components โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 1:45 pm บอร์ด Jquery & Ajax Knowledge
0
66
ศ 05 มิ.ย. 2020 1:45 pm โดย bolue
วิธีการ การเรียกใช้ methods โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 1:17 pm บอร์ด Jquery & Ajax Knowledge
0
34
ศ 05 มิ.ย. 2020 1:17 pm โดย bolue
วิธีการ ค้นหาด้วยการใช้ watch โดย vue.js
โดย bolue ศ 05 มิ.ย. 2020 12:45 pm บอร์ด Jquery & Ajax Knowledge
0
29
ศ 05 มิ.ย. 2020 12:45 pm โดย bolue