Posts

fastlane เครื่องมือช่วยให้ชีวิต command line สะดวกขึ้น

Image
fastlane คือเครื่องมือทางเลือกเพื่อให้ mobile dev ส่งแอปฯ ขึ้นสู่ store แต่หากพูดถึงความสามารถของ fastlane ในปัจจุบันนั้น มี plugin มากมายเพื่อทำให้ mobile dev สามารถออกแบบและปรับแต่ง script ได้หลากหลายรูปแบบ  ตัวอย่างการใช้งานอย่างง่าย % fastlane run build_app ซึ่งเราสามารถค้นหาคำสั่ง fastlane ได้จาก  https://docs.fastlane.tools/ ใช้งานแบบซับซ้อนมากขึ้นด้วย Fastfile โดย lane คือฟังก์ชันที่รวม logic หรือ คำสั่งต่างๆ ไว้ด้วยกัน ซึ่งภาษาที่ใช้จะเป็นภาษา Ruby  lane :beta do increment_build_number build_app upload_to_testflight end lane :release do capture_screenshots build_app upload_to_app_store # Upload the screenshots and the binary to iTunes slack # Let your team-mates know the new version is live end Automation with fastlane fastlane มีบทบาทอย่างมากในการทำ automate pipeline สำหรับ mobile dev เนื่องจากวิธีการแบบ manual มักอยู่บน editor เฉพาะทาง เช่น Android Studio หรือ Xcode ถึงแม้ว่าจะสามารถใช้ script ได้บ้าง แต่ก็มักมีความยาวที่ทำให

Port Forwarding สำหรับคนใช้ AIS Fibre

Image
เมื่อเราติดตั้ง Internet ใช้ภายในบ้าน โดยปกติแล้วจะไม่มี public IP เพื่อเข้าถึงจากภายนอกได้ หรือบางครั้งก็มีแต่จะเปลี่ยนเรื่อยๆ ขึ้นอยู่กับผู้ให้บริการ แต่สำหรับลูกค้า AIS Fibre ถึงแม้จะไม่มี public IP ให้ใช้ แต่ AIS ได้ทำเว็บสำหรับการทำ port forwarding มาให้เราใช้งาน https://thddns.net  - เป็นเว็บไซต์ที่ AIS สร้างมาเพื่อให้ลูกค้าสามารถตั้งค่า เพื่อเชื่อมมายังวง LAN บ้านเรา โดยเราสามารถตั้งชื่อ subdomain ได้เอง  เข้าใช้ครั้งแรกต้องลงทะเบียนก่อน https://thddns.net เมื่อเข้ามาแล้วจะเป็นหน้านี้ เราสามารถเพิ่ม-ลบ เปิด-ปิด port ใช้งานได้ ซึ่งสร้างได้สูงสุด 10 port โดยไม่สามารถกำหนดเลข​ port ได้เอง  จากนั้น ต้องไปตั้งค่าที่ Router ของเราด้วย  http://192.168.1.1  ซึ่งแต่ละยี่ห้ออาจมี username, password แตกต่างกันต้องถามผู้ให้บริการ  http://192.168.1.1

คูลกว่าใคร จ่ายเงินแบบ Contactless ด้วยมือถือ Android

Image
พัฒนาการของการใช้จ่ายสินค้าและบริการมีมาเรื่อยๆ โดยในปัจจุบันในบ้านเรามีวิธีการจ่ายเงินดังนี้ เงินสด (Cash) การจ่ายเงินแบบไร้เงินสด (Cashless) บัตรเดบิต/บัตรเครดิต  ใช้แอปธนาคารบนมือถือแสกน QR Code เพื่อโอนเงิน การจ่ายเงินแบบไร้สัมผัส ( Contactless ) บัตรเดบิต/บัตรเครดิต แบบ payWave ใช้มือถือที่รองรับ NFC จ่ายผ่านระบบ payWave โดยบทความในวันนี้จะมาเล่าถึงเทคโนโลยีการจ่ายเงินล่าสุด ซึ่งก็คือการใช้มือถือที่รองรับ NFC จ่ายผ่าน payWave หลักการง่ายๆ คือเพิ่มบัตรเครดิตเข้าไปในแอปฯ Google Wallet จากนั้นก็ใช้มือถือของเราแทนบัตรนั้นๆ ไปได้เลย Google Wallet  คืออะไร Google Wallet  เป็นแอปฯ ที่เสมือนเป็นกระเป๋าสตางค์ของเรา บางคนมีบัตรเยอะแยะไปหมดจนใส่กันไม่พอ พออยู่ในรูปแบบของแอปฯ ก็จะทำให้เรามีพื้นที่ไม่จำกัด และใช้เพียงมือถือของเราแตะเพื่อจ่ายสินค้าและบริการต่างๆได้เลย โดยอาศัยเทคโนโลยี NFC ของมือถือและทำงานร่วมกับเครื่องจ่ายเงินแบบไร้สัมผัส (payWave)     จ่ายที่ไหนได้บ้างล่ะ ? เราสามารถมองหาสัญลักษณ์ payWave ได้เลยเนื่องจากเป็นมาตรฐานสากล เช่นเดียวกับบัตรและเครื่องที่รองรับการจ่ายเงินแบบ payWa

Deeplink, Universal Links คืออะไร ทำงานร่วมกับ Mobile App ได้ยังไง

Image
โครงสร้างของ links  Link   ที่เรากำลังพูดถึงก็คงจะไม่แปลกตาเท่าไร ซึ่งหลายคนคงเข้าใจดีว่าถ้าเราเปิด link ก็จะสามารถเข้าสู่ website ใดๆ ทันที เมื่อ mobile app ได้รับความนิยมมากขึ้นการเปิดแอปฯ ด้วย link เพียงตัวเดียวก็คงจะสะดวกไม่น้อย จึงเกิดสิ่งที่เรียกว่า Deeplink ขึ้นมา Deeplink   เป็นการ custom URL Scheme ซึ่งในยุคนึงมันเคยมีหน้าที่เฉพาะระบุ protocol ตัวอย่างเช่น https:// smtp:// ftp:// ssh:// เป็นต้น แต่ในปัจจุบันมีการยกระดับให้ high-level มากขึ้น นักพัฒนาสามารถกำหนดเอง บน mobile app. นักพัฒนาสามารถกำหนด deeplink ได้เอง เช่น myapp:// เมื่อ user กด link นี้จากที่ไหนก็ตามบนมือถือ ก็จะเด้งไปเปิดแอปฯ ได้ทันที  กรณีที่มีหลายแอปฯ register deeplink เหมือนกันติดตั้งอยู่ ข้อเสียของ deeplink มีโอกาสซ้ำ  ใช้ได้เฉพาะแอปฯ มือถือ ต้องมีแอปฯ ก่อน - แอปฯ​ ที่ใช้ deeplink ต้องอยู่บนเครื่องเท่านั้น ไม่ปลอดภัย - ใครก็เรียกแอปเราได้ ถ้ารู้ deeplink  Share ไม่ได้ - มันจะเหมือนการ share text ธรรมดา (ไม่มี preview) ความแตกต่างระหว่าง deeplink กับ public link พัฒนาการของ link ยังคงมีภาคต่อคือ... Universa

Appium Inspector เครื่องมือช่วยสร้าง Automated Test Script

Image
         Appium Inspector เป็นเครื่องมือช่วย Record และ Inspect element ที่เกิดขึ้นบน mobile device โดยการ Inspect นั้นก็สามารถจิ้มเอาได้เลย ไม่ต้องสนใจว่าฝั่ง developer เค้าเขียนอะไรกันมา         ก่อนจะไปดูกันต่อ ต้องมั่นใจว่า Appium ถูกติดตั้งครบถ้วน ใครที่เข้ามาอ่านโพสนี้โดยที่ยังไม่ได้ลง ต้องไปอ่านบทความนี้ก่อนครับ >>  ทดสอบ Mobile App แบบ Automated ด้วย Appium ทำยังไงกันนะ การใช้งาน  Appium Inspector ดาวน์โหลด ที่นี่ เปิดแอปฯ          เราจะพบกับหน้าจอดังนี้ เราต้องตั้งค่าเพื่อชี้ไปยัง device ที่เราจะทำการ inspect         สำหรับ Android ให้ใส่ดังนี้ { "platformName": "Android", "appium:platformVersion": "12", "appium:automationName": "uiautomator2" }         สำหรับ iOS ให้ใส่ดังนี้ { "platformName": "iOS", "automationName": "XCUITest", "deviceName": "iPhone 14 Pro" }         เนื่องจาก Appium Inspector จะทำงานผ่าน Appium เราจำเป็นจะต้อง start ทิ้

Android Auto & Apple Carplay คืออะไร ใช้งานยังไง

Image
        Multimedia บนรถยนต์ นอกจากวิทยุหรือบลูทูธที่เชื่อมต่อกับ smartphone แล้ว ยุคนี้ก็มี Android Auto และ Apple Carplay ที่เป็น official software จาก Google และ Apple เอง ค่ายรถหลาย ๆ ค่าย รองรับมาตั้งแต่โรงงาน รวมถึงมีมาตรฐานความปลอดภัยเมื่อใช้ระหว่างขับขี่รถยนต์ด้วย ทำความรู้จัก  Android Auto  และ  Apple Carplay  กันก่อน         ทั้งคู่เป็นการเชื่อมต่อมือถือของเราเข้ากับจอของรถยนต์ โดยปกติจอจะรองรับด้วยกันทั้งคู่ไม่ต้องซื้อแยก เพียงแต่ต้องเช็คมือถือของเราให้พร้อมด้วย Apple Carplay เป็นฟีเจอร์ที่ติดมากับมือถือ iOS **iPadOS ใช้ไม่ได้นะจ๊ะ Android Auto เป็นฟีเจอร์ที่ติดมากับมือถือ Android         ความสะดวกสบายหลักๆ คือใช้งานแผนที่ (Google Maps) โดยไม่ต้องซื้อตัวดูดกระจกให้เกะกะ เปิดเพลงบนแอปฯ โปรดโดยไม่ต้องหยิบมือถือขึ้นมา แถมยังได้ความต่อเนื่องจากแอปฯ มือถือที่เราใช้อยู่แล้ว Android Auto Apple Carplay รูปแบบการใช้งานที่เหมือนกันของ Android Auto และ Apple Carplay ทุกอย่างถูกรันบนมือถือ Android หรือ iOS ของเรา โดยหน้าจอขอรถเป็นเพียงการควบคุมสั่งงานเท่านั้น  Internet ใช้จากมือถือ  เ

ทดสอบ Mobile App แบบ Automated ด้วย Appium ทำยังไงกันนะ

Image
        Automated Test คือ การทดสอบเล่นแอปฯ​ โดยอัตโนมัติ ซึ่งมีส่วนช่วยอย่างมากกับ flow ต่างๆ ที่ Tester ต้องเล่นเองซ้ำๆ (Manual Test) โดยเฉพาะ Application ปัจจุบันมักถูกออกแบบเป็น step-by-step ยิ่งการทดสอบซ้ำซากเป้นเรื่องน่าเบื่อ         บางคนอาจจะสามารถเล่น flow เดิมๆ ซ้ำๆ หลายรอบได้โดยไม่รู้สึกแปลกอะไร แต่จะดีกว่าไหมถ้ามีตัวช่วยให้ไม่ต้องเล่นเอง นอกจากจะลดข้อผิดพลาดจากมนุษย์ (human error) แล้ว ยังทำให้การเล่น flow เดิมมันเป็นแบบเดิมจริงๆ อย่างปฏิเสธไม่ได้          Robot Framework เป็นภาษาโปรแกรมภาษาหนึ่ง ที่ออกแบบมาให้อ่านเข้าใจง่าย มีความ Tester friendly สูง มีเครื่องไม้เครื่องมือ (Library) ในสำหรับการทดสอบที่แตกต่างกัน เช่น api test, ui test หรือแม้กระทั่ง recorder เจ้าดังอย่าง Selenium ที่ใช้สำหรับบันทึกการเล่นเว็บเป็น robot framework script ได้         Mobile มีการเขียนโค้ดแบบ native framework และ cross-platform framework เช่นเดียวการเขียน Test บน native Android ใช้ Espresso ส่วน iOS ใช้ XCUITest ซึ่งคนที่คุ้นเคยที่สุดคงเป็น Developer มากกว่า Tester แน่นอน 

Facebook Comment

Recent Posts

Popular post of 7 days

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

เรื่องของ ++i กับ i++

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Java] Java Static Variable และ Static Method

Push Notification คืออะไร มีวิธีทำอย่างไร (No Code)

[Java] การเชื่อมต่อ database ผ่าน Datasource

[Java] รู้จัก Generic Type ในการเขียนโปรแกรม