การทดสอบแบบอัตโนมัติ ด้วย Robot framework กับ Selenium Library (ตอนที่ 2 การใช้งาน)

มาลุยกันต่อในตอนที่ 2 กันค่ะ อันดับแรกต้องทำการติดตั้ง Selenium WebDriver กันก่อน สามารถไปดาวน์โหลดได้ที่ https://www.seleniumhq.org/download/ เมื่อติดตั้งเรียบร้อยแล้วเรามาทำความรู้จักโครงสร้างหลักใน Robot Framework กันค่ะ ในส่วนของ Setting จะเป็นการกำหนด Library ในที่นี้จะใช้ Selenium2Lirary ในส่วนของ Keyword จะใช้ในกรณีที่เราต้องการที่จะสร้าง Keyword ของเราขึ้นมาใช้งานเอง ซึ่งจะใช้ได้เฉพาะในไฟล์นี้เท่านั้น ในส่วนของ Variables คือการกำหนดตัวแปร สำหรับการใช้งาน ในส่วนของ Test Cases คือส่วนของการเขียน Test Cases ซึ่งสิ่งสำคัญในส่วนนี้คือ ชื่อ Test Cases ถ้าไม่มีการตั้งชื่อให้กับ Test Cases ก็จะไม่สามารถ Run คำสั่งทั้งหมดในไฟล์นี้ได้ ***โครงสร้างที่สำคัญในการ Run Test Case คือ Setting และ Test Cases ซึ่งในการสร้างไฟล์สำหรับ Test ด้วย Robot ทุกครั้ง จะต้องมี 2 ส่วนนี้ มิฉะนั้น ก็จะไม่สามารถทำงานได้ ส่วน Keywords กับ Variables อาจจะมีหรือไม่มีก็ได้ จาก Test case ตัวอย่างต้องการจะค้นหา Google ด้วยคำว่า hello world โดยเปิดผ่าน Google Chrome เมื่อเขียนคำสั่งเรียบร้อยแล้ว ก็ Save ไฟล์เป็น Text ธรรมดา ตัวอย่างจะบันทึกชื่อเป็น test.robot ดังรูป จากนั้นเรามา Run การทดสอบแบบอัตโนมัติกันค่ะ เปิด Command Prompt ขึ้นมาค่ะ ผลลัพธ์จะแสดงอัตโนมัติ ดังรูปค่ะ สามารถจะดู Log และ Report จากการทดสอบได้ดังรูป เห็นมั๊ยค่ะว่าการใช้งานไม่ยุ่งยากเลย แถมมี log มี report ให้ดูด้วยนะเออ ครั้งนี้เป็นการใช้งานเบื้องต้น เดี๋ยวตอนหน้าจะนำเสนอการใช้งานคำสั่งในรูปแบบอื่น ๆ กันบ้างนะคะ อย่าลืมติดตามกันหล่ะ 

Read More »

Grammarly For Chrome

Blog ที่2 สำหรับปีนี้ ทางผู้เขียนก็อยากจะขอนำเสนอ Extension เจ๋งๆ ให้ได้รู้จักกันอีกสักอันละกันเนอะ เชื่อเลยว่าหลายๆคน ที่ไม่ถนัดในภาษาอังกฤษมากนัก (อย่างเช่นผู้เขียนนี่แหละ – -“) จะต้องกราบงามๆ ให้กับคนที่พัฒนาสร้างสรรค์ Extension ที่ชื่อว่า Grammarly ตัวนี้ขึ้นมาให้เราได้ใช้กัน … __/\__ *** ถ้าพร้อมแล้วก็มาทำความรู้จัก Grammarly For Chrome กันเถอะ *** Grammarly เป็น Extension ที่จะทำหน้าที่คอยจับตามองในสิ่งที่เราพิมพ์ลงไปแบบ Real-time (ทันที) และจะคอยบอกให้เรารู้ ว่าเราพิมพ์ผิดคำไหน ตกตรงจุดไหน และที่สำคัญเจ้าตัวนี้มันจะแนะนำวิธีแก้ไขให้ หรือบางทีก็จะมีการแสดงอธิบายเพิ่มเติมให้ด้วย ความฉลาดของเจ้าตัวนี้หลักๆ ที่จะช่วยเราได้อย่างเช่น การสะกดคำ การลืมเติม S หรือการใส่ . (dot) หรือการจัดวางเรื่องของรูปแบบประโยค การขึ้นต้นคำ เป็นต้น อะ ไม่ต้องบรรยายกันมากละ มาลองติดตั้ง แล้วก็ใช้งานจริงกันเลยดีกว่าาาา ถ้าพร้อมแล้วก็ ลุยยยย กันเลย   *** วิธีติดตั้ง Grammarly For Chrome *** 1.เปิด Google Chrome Browser เพื่อติดตั้ง Extension คลิกที่นี่ จากนั้นเลือกเพิ่ม Extension ดังกล่าว                   2. หลังจากเพิ่มส่วนขยายเรียบร้อยแล้ว ก็จะพบกับหน้าจอ Personalize Grammarly ดังรูป เราสามารถเลือกระบุได้ว่า ส่วนใหญ่แล้วเรื่องที่เราเขียนจะเกี่ยวกับด้านไหน และระบุได้ว่าทักษะ ที่เรามีเนี่ยอยู่ที่ระดับประมาณไหน แต่หากไม่ต้องการระบุใดๆ ก็สามารถกด Skip เพื่อข้ามได้เลย                 3.ถัดมาให้ Create Account เพื่อเข้าสู่ระบบ โดยเราสามารถจะเลือก with facebook หรือ with google ก็ได้นะสำหรับคนที่มี Account อยู่แล้ว หากนอกเหนือจากนี้ก็ระบุ Email ที่ต้องการใช้ไปได้เลย                 4.แท่น แท่น แท๊นนน เมื่อ Login เข้ามาแล้วก็จะพบกับหน้าจอ Welcom to Grammarly! แบบในรูปนะ หน้านี้ก็จะมีให้เราเลือกว่าจะใช้แบบ ฟรี หรือจะใช้แบบ Premium เอาจริงๆ ตัดสินใจได้ไม่ยากเลย คลิกลงไปแรงๆ ตรงที่เขียนว่า “Continue to Grammarly It’s Free” 555+ จะเสียเงินทำไม แค่ที่เค้าฟรี มาให้เราก็เพียงพอที่จะใช้ได้ในชีวิตประจำวันของเราแล้ววว !!!                 5. คราวนี้มาทดลองใช้ Extension ตัวนี้ในการส่ง E-mail กัน ปล..แต่จริงๆแล้ว ไม่ใช่แค่ใช้ในการพิมพ์ E-mail เท่านั้นนะ จะเขียน Blog หรือพิมพ์อย่างอื่นผ่าน Chrome ก็สามารถใช้ Extension ตัวนี้ได้เช่นเดียวกันนะเออ ตัวอย่างเช่น พิมพ์ข้อความ young people are talking less on their mobile ทดสอบโดยการพิมพ์ถูกบ้าง ผิดบ้าง ก็จะสังเกตุได้ว่าเจ้าตัว Grammarly ก็จะตรวจสอบคำที่คาดว่าจะไม่ถูกต้อง และขีดเส้นใต้ สีแดงเอาไว้            

Read More »

วิธีการใส่เลขหน้า ให้กับเอกสาร PDF แบบบ้าน ๆ

สืบเนื่องจาก ทะเลาะกับ Printer เป็นวันๆ เพื่อที่จะใส่เลขหน้าให้กับเอกสาร PDF เสียกระดาษ เวลา และอารมณ์ไปเยอะ สุดท้าย ก็ได้วิธีการ เห็นว่าน่าจะเป็นประโยชน์ จึงอยากนำมาเล่าสู่กันฟัง Printer ที่ใช้เป็น Ricoh Africo MP301 SPF รุ่นนี้ มีที่ใส่กระดาษ 2 Tray อันบนคือ Tray 1 เอาไว้ใส่กระดาษเปล่า ส่วน อันล่าง Tray 2 ไว้ใส่กระดาษใช้แล้ว ซึ่ง ในที่นี้ เราจะเอาไว้ใส่กระดาษที่มีเลขหน้าในขั้นตอนต่อไป ปัญหาคือ ต้องจัดรูปเล่มเอกสารใหม่ เอาไฟล์ Word บ้าง PowerPoint บ้าง ภาพจากการ Capture บ้าง มารวม ๆ กัน เป็นเอกสารใหม่ ที่ต้องมีเลขหน้ากำกับ วิธีการคือ สร้าง PowerPoint หรือ Word ก็ได้ ที่มีเลขหน้า อยู่ในตำแหน่งที่ต้องการ และ จำนวนแผ่นที่เท่ากับจำนวนทั้งหมดที่ต้องการ  แล้วสั่งพิมพ์ออก Tray 1 ปรกติ จากนั้น นำกระดาษที่พิมพ์เลขหน้าเสร็จแล้ว กลับมาใส่ใน Tray 2 *** จุดสำคัญคือ การวางหัวกระดาษ*** ให้หันไปทางซ้ายมือ ดังภาพ จากนั้น ก็ Print สิ่งที่ต้องการใส่ เลขหน้า ตามลำดับ ลงไปที่ Tray 2 สุดท้าย เราก็จะได้ กระดาษที่มีเนื้อหาตามต้องการ พร้อมเลขหน้าตามลำดับ ในภาพนี้ ได้ผลออกมาแล้ว นำกลับไป Scan เป็น PDF อีกครั้งหนึ่งที่ความละเอียด 600 dpi แบบ Photo หวังว่าจะเป็นประโยชน์ครับ

Read More »

CIS Control v7

Cybersecurity Best Practices CIS Controls and CIS Benchmarks are global industry best practices endorsed by leading IT security vendors and governing bodies. CIS Controls : Secure Your Organization IT security leaders use CIS Controls to quickly establish the protections providing the highest payoff in their organizations. They guide you through a series of 20 foundational and advanced cybersecurity actions, where the most common attacks can be eliminated. CIS Benchmarks : Secure Your Systems & Platforms Proven guidelines will enable you to safeguard operating systems, software and networks that are most vulnerable to cyber attacks. They are continuously verified by a volunteer IT community to combat evolving cybersecurity challenges. Basic CIS Controls 1 Inventory and Control of Hardware Assets (บันทึกรายการและควบคุมทรัพย์สินที่เป็นฮาร์ดแวร์) 2 Inventory and Control of Software Assets (บันทึกรายการและควบคุมทรัพย์สินที่เป็นซอฟต์แวร์) 3 Continuous Vulnerability Management (จัดการกับช่องโหว่อย่างต่อเนื่อง) 4 Controlled Use of Administrative Privileges (ควบคุมการใช้สิทธิพิเศษในการบริหารระบบ) 5 Secure Configuration for Hardware and Software on Mobile Devices, Laptops, Workstations and Servers (กำหนดค่าที่ปลอดภัยให้กับฮาร์ดแวร์และซอฟท์แวร์ บนอุปกรณ์พกพา แลปทอป เวิร์กสเตชั่น และเซิร์ฟเวอร์) 6 Maintenance, Monitoring and Analysis of Audit Logs (บำรุงรักษา เฝ้าสังเกต และวิเคราะห์ ข้อมูลล๊อกการใช้งานต่างๆ) Foundational CIS Controls 7 Email and Web Browser Protections (ป้องกันอีเมล และเว็บเบราว์เซอร์) 8 Malware Defenses (ป้องกันมัลแวร์) 9 Limitation and Control of Network Ports, Protocols, and Services (จำกัดและควบคุม พอร์ต โปรโตคอล และบริการต่างๆ บนเครือข่าย)

Read More »

Ubuntu server 18.04 config static IP with ifupdown not netplan

เดิมก่อนหน้า server 18.04 จะออกมาให้ใช้งานกันนั้น จะเป็น server 16.04 เราตั้งค่า (config) static IP ให้กับ server ด้วยไฟล์นี้ /etc/network/interfaces ซึ่งก็คือ package ชื่อ ifupdown และ DNS resolver ที่ใช้ก็คือ resolvconf แต่ใน server 18.04 นี้ เปลี่ยนไปใช้ package ชื่อ netplan แก้ไขที่ไฟล์ /etc/netplan/01-netcfg.yaml และใช้ DNS resolver คือ systemd-resolve ซึ่งจะ connect สอบถามชื่อ DNS จาก internal DNS ที่ IP 127.0.0.53 (ตรวจดูด้วยคำสั่ง cat /etc/resolv.conf) (ย้ำ) บทความนี้ไม่ได้บอกเล่าให้ทุกคนต้องทำแบบนี้ เพียงแต่หากท่านมีงานเฉพาะอย่างที่ต้องการใช้แบบก่อนหน้านี้ หลังจากติดตั้ง Ubuntu server เสร็จ 1.แก้ไขไฟล์ /etc/default/grub ดังนี้ sudo nano /etc/default/grub เพิ่มบรรทัดนี้ GRUB_CMDLINE_LINUX=”netcfg/do_not_use_netplan=true” หรือหากต้องการใช้ชื่อ interface เป็น ethX เช่น eth0 เป็นต้น ก็ให้เพิ่มบรรทัดแบบนี้ GRUB_CMDLINE_LINUX=”net.ifnames=0 netcfg/do_not_use_netplan=true” ทำการ Save และ ออก 2.ทำคำสั่งนี้เพื่อ update grub sudo update-grub 3.ติดตั้ง ifupdown package sudo apt install ifupdown 4.ติดตั้ง resolvconf package sudo apt install resolvconf 5.รีบูต server เมื่อ login กลับเข้าไปใน command prompt สั่ง ping www.google.com สำเร็จ ก็แสดงว่าใช้งานได้ (เซิร์ฟเวอร์นี้ต้องได้รับอนุญาตออกเน็ตด้วยนะ) หรือไม่ก็ใช้คำสั่งตรวจสอบชื่อโดเมน ดังนี้ host www.google.com ก็จะต้องได้รับ output ที่แสดงว่าสำเร็จ สำหรับวิธีการตั้งค่าแบบ netplan ก็มีเว็บเพจที่เขียนไว้มากพอสมควร เช่น Ubuntu Bionic: Netplan posted by Joshua Powers on 1 December 2017 [ https://insights.ubuntu.com/2017/12/01/ubuntu-bionic-netplan ] ลองทำความเข้าใจรูปแบบใหม่นี้ได้เลย Output ของค่า default เมื่อติดตั้ง Ubuntu server 18.04 เสร็จใหม่ ๆ (/etc/resolv.conf, /etc/network/interfaces และ /etc/netplan/01-netcfg.yaml) Output ของไฟล์ที่ใช้ในการตั้งค่า static IP เมื่อใช้ ifupdown package (/etc/resolv.conf และ /etc/network/interfaces) References: Disable netplan on Ubuntu 17.10 Posted on January 10, 2018 by ruchi [ http://www.ubuntugeek.com/disable-netplan-on-ubuntu-17-10.html ] Predictable Network Interface Names [ https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ ]

Read More »