📱 Appium là gì?
Selenium phiên bản dành cho app điện thoại.
1
Hiểu nó là gì
Appium tự động thao tác ứng dụng iOS và Android bằng cùng một cách viết, dùng lại nhiều khái niệm quen thuộc từ Selenium.
Nói theo đời thường:
Cũng là điều khiển từ xa, chỉ khác chỗ bấm: thay vì trình duyệt trên máy tính thì là ứng dụng trên điện thoại.
Cũng là điều khiển từ xa, chỉ khác chỗ bấm: thay vì trình duyệt trên máy tính thì là ứng dụng trên điện thoại.
⚠ Chỗ ẩn dụ này hỏng
“Selenium cho điện thoại” là cách nói cho dễ hình dung, nhưng test mobile khó hơn test web một bậc rõ rệt.
Bạn phải lo thêm: máy thật hay máy ảo, phiên bản hệ điều hành, quyền truy cập, thông báo đẩy chen ngang, xoay ngang xoay dọc, mạng yếu. Cùng một đoạn code chạy ngon trên Android có thể chết trên iOS vì lý do chẳng liên quan gì tới code.
2
Code trông thế nào
// Gần giống Selenium, khác ở cách tìm phần tử driver.findElement(AppiumBy.accessibilityId("nut-dang-nhap")).click(); driver.findElement(AppiumBy.xpath("//android.widget.EditText[@text='Email']")).sendKeys("na@vd.com");
accessibilityId là cách tìm phần tử ổn định nhất trên mobile — xin dev gắn sẵn cho bạn.
3
Khi nào bạn dùng nó
✓ Dùng khi
- Sản phẩm có app iOS hoặc Android cần test lặp lại
- Cần chạy cùng bộ test trên cả hai nền tảng
✗ Đừng dùng khi
- Sản phẩm chỉ có web (dùng Playwright nhẹ hơn nhiều)
- Đội chưa có máy thật hoặc chưa có dịch vụ thuê máy
Chưa cần biết: device farm, chạy song song nhiều máy, test theo cử chỉ phức tạp.
Để dành tới Mốc 3 — Tự sửa được khi nó hỏng: Test đỏ trên CI mà xanh ở máy bạn, và bạn biết bắt đầu tìm từ đâu.
Dấu hiệu bạn đã cần học nó: Khi bạn cần kiểm tra trên 6 đời máy mà trong tay chỉ có đúng một cái điện thoại.
4
Đi đâu tiếp
- WebDriverAppium dùng lại đúng giao thức này.
- SeleniumHiểu Selenium trước thì Appium học rất nhanh.
- LocatorPhần khác biệt lớn nhất khi chuyển từ web sang mobile.