espresso Archive

Robolectric ถูกเพิ่มเข้ามาใน AndroidX Testing แล้ว

หลังจากที่ AndroidX Testing ถูกเพิ่มเข้ามาใน JetPack แล้ว Version ล่าสุดของ AndroidX Testing คือ 1.0.0 ซึ่งมีการเปลี่ยนแปลงที่น่าสนใจดังนี้ เพิ่ม Robolectric 4.0 เข้ามา ค่าของ minSdkVersion เป็น 14 และ targetSdkVersion เป็น 28 สนับสนุน Instant apps แล้ว

Read More…

Android :: ว่าด้วยเรื่องของการทดสอบด้วย Espresso กับ Retrofit/OkHttp

จากการแบ่งปันเรื่องของ Automation Test ด้วย Espresso สำหรับ Android app ปัญหาอย่างหนึ่งที่พบเจอคือ เมื่อต้องทำการสอบระบบงานที่ทำงานแบบ Background operation ยกตัวอย่างเช่น การเชื่อมต่อไปยัง REST API หรือ WebService ด้วย Retrofit และ OkHttp รวมทั้งการจัดการเรื่องของ Thread เอง โดยสิ่งต่าง ๆ เหล่านี้อยู่เหนือขอบเขตความสามารถของ Espresso คำถามคือ แล้วจะจัดการอย่างไรดีละ ? เรามาหาคำตอบกัน

Read More…

Android :: แนะนำ library สำหรับการเขียน UI Test ด้วย Espresso

การสร้างชุดการทดสอบแบบอัตโนมัติระดับ User Interface ของ Android app นั้น เป็นเรื่องที่สำคัญมาก ๆ โดยที่ทาง Android ก็ได้เตรียมเครื่องมือและ library ต่าง ๆ ไว้ให้ครบ ยกตัวอย่างเช่น Espresso และ UIAutomator เป็น ที่สำคัญยังมี opensource library อื่น ๆ อีก ไม่ว่าจะเป็น Appium และ Calabash ดังนั้นการสร้างชุดการทดสอบแบบอัตโนมัติจึงไม่ใช่เรื่องยากหรือเป็นไปไม่ได้เลย แต่เหล่าทีมพัฒนามักไม่ชอบทำ !! ทำไมนะ

Read More…

มาเขียนชุดการทดสอบ Espresso ให้อ่านง่าย ๆ ด้วยภาษา Kotlin

วันนี้ไปร่วมงาน GDG DevFest Bangkok 2017 มี session ที่น่าสนใจเยอะเลยแบ่งออกเป็น 3 ห้อง ดังนั้นก็ต้องเลือกเข้า session ในห้องใดห้องหนึ่งไปเลย โดย session แรกที่ได้เข้าไปคือ One Espresso with Kotlin, please เป็นการแนะนำและทำ workshop เกี่ยวกับ การเขียน UI Test ของ Android app ด้วย Espresso ที่น่าสนใจคือ เขียนด้วยภาษา Kotlin แต่ที่น่าสนใจกว่าคือ การออกแบบ DSL (Domain Specific Language) สำหรับการทดสอบ ซึ่งทำให้ชุดการทดสอบอ่านง่าย เข้าใจง่าย มันสวยนะ มาดูกันนิดหน่อย

Read More…

มาสร้างระบบ Continuous Integration สำหรับ Android app กันดีกว่า

วันนี้นั่งสร้างระบบ Continuous Integration (CI) สำหรับ Android app นิดหน่อย เพื่อทำการ integrate ส่วนการทำงานต่าง ๆ เข้าด้วยกัน ทำการ build และ ทดสอบระบบแบบอัตโนมัติ ทำให้เรารู้ข้อผิดพลาด เพื่อทำการแก้ไขได้อย่างรวดเร็ว ดังนั้นมาดูกันว่าจะทำการสร้างระบบ CI อย่างไรกันบ้าง

Read More…

[Part 2] สรุปความรู้ที่น่าสนใจจากงาน Google I/O 2016 Extended Bangkok

เนื่องจากเนื้อหาในงาน Google I/O 2016 Extended Bangkok มันเยอะมาก ๆ ดังนั้นจึงแยกเนื้อหาออกเป็น 2 ส่วน ซึ่งใน blog นี้จะสรุปเรื่องต่าง ๆ ดังนี้ UI Testing สำหรับ Android App ด้วย Espresso ทำความรู้จักกับ Firebase ว่าน่าสนใจอย่างไรบ้าง มาเริ่มกันเลย

Read More…

สวัสดีกับ Espresso Test Recorder สำหรับการทดสอบ Android App

ใน Android Studio 2.2 Preview 3 นั้น ได้ปล่อย Espresso Test Recorder ใน Beta version ให้ลองใช้งานแล้ว ซึ่งเป็นความสามารถที่ขี้โม้ไว้ในงาน Google I/O 2016 นั่นแสดงว่า เราสามารถบันทึกการทดสอบ Android App ง่าย ๆ ด้วยการใช้งาน App แบบปกติ โดยผลที่ได้คือ ชุด code ของการทดสอบแบบอัตโนมัติ ซึ่งเราสามารถทำการแก้ไขได้อีกด้วย แต่ก็มีข้อจำกัดพอสมควร !!

Read More…

สรุปสิ่งที่แบ่งปันในงาน Test Automation Meetup #1

วันนี้มีโอกาสไปแบ่งปันเรื่อง Automated testing for Android app ในงาน Test Automation Meetup ครั้งที่ 1 โดยเน้นไปที่แนวคิดสำหรับการทดสอบ Android app ซึ่งในปัจจุบันมีเครื่องมือ และ library ต่าง ๆ เยอะมากมาย หนึ่งในนั้นคือ Android Testing Support Library (ATSL)

Read More…

Android :: จะทดสอบการเชื่อมต่อ Network อย่างไรดี ?

คำถามที่น่าสนใจคือ ถ้าต้องการทำทดสอบส่วนการติดต่อผ่าน Network เช่นเรียกใช้งาน RESTful API, WebService เป็นต้น ไม่ว่าจะใช้ library ใด ๆ ก็ตาม เช่น HttpURLConnection และ Retrofit เป็นต้น เราจะเขียนชุดการทดสอบอย่างไรดี ? เนื่องจากมีหลายวิธีเหลือเกิน ดังนั้นจึงขอสรุปง่าย ๆ คือ มีการทดสอบ 2 แบบคือ ทำการทดสอบผ่าน Emulator/device ทำการทดสอบโดยไม่ใช้ Emulator/device

Read More…

Espresso ::  การแก้ไขปัญหาเรื่อง permission บน Android M

วันนี้เจอปัญหาที่น่าสนใจสำหรับการทดสอบ Android app ด้วย Espresso มีอาการ คือ ไม่สามารถทำการทดสอบได้ และ ผลการทดสอบผิดพลาด ซึ่งเป็นปัญหาเกี่ยวกับ permission ของ Android app นั่นเอง โดยจะเจอปัญหานี้บน Android M หรือ Android 6 Marshmallow เนื่องจากรูปแบบของการจัดการ permission ที่เปลี่ยนไป มาดูวิธีการแก้ไขว่าทำอย่างไร

Read More…