1. Vì sao cần kiểm thử tự động mobile
Một ứng dụng viễn thông chạy trên hàng trăm dòng máy, nhiều phiên bản Android và iOS khác nhau. Kiểm thử tay không thể phủ hết ma trận thiết bị đó trong thời gian hợp lý, nên đội QA cần một công cụ tự động điều khiển ứng dụng thật giống như người dùng chạm, vuốt và gõ. Appium ra đời để giải quyết đúng bài toán này: viết một bộ kịch bản, chạy được trên cả Android lẫn iOS mà không phải viết lại từ đầu cho mỗi nền tảng.
Điểm mấu chốt khiến Appium được ưa chuộng là nó không yêu cầu bạn nhúng thư viện lạ vào ứng dụng hay chỉnh sửa mã nguồn sản phẩm. Appium điều khiển ứng dụng qua các framework tự động hoá do chính nền tảng cung cấp, nên bạn kiểm thử đúng file build mà người dùng sẽ cài. Đây là điều đội QA viễn thông đánh giá cao vì họ thường nhận bản build đóng gói sẵn từ đội phát triển.
- Phủ ma trận thiết bị rộng mà không nhân đôi công sức viết kịch bản
- Kiểm thử đúng bản build sản phẩm, không cần sửa mã nguồn
- Dùng lại kỹ năng WebDriver mà đội web đã quen
2. Kiến trúc client / server / driver
Appium theo mô hình ba lớp rõ ràng. Lớp client là bộ kịch bản test của bạn viết bằng Java, JavaScript, Python hay ngôn ngữ khác, dùng thư viện binding tuân theo giao thức WebDriver. Lớp server là tiến trình Appium chạy dưới dạng dịch vụ HTTP, nhận các lệnh chuẩn W3C như tạo session, tìm element, gửi thao tác. Lớp driver là phần biết cách nói chuyện với từng nền tảng cụ thể để thực thi lệnh trên thiết bị.
Giao thức WebDriver là cầu nối quan trọng nhất. Vì Appium nói cùng ngôn ngữ với Selenium, đội đã quen tự động hoá web sẽ thấy các khái niệm quen thuộc: session, capability, tìm element, gửi lệnh. Sự khác biệt nằm ở tầng driver bên dưới. Với Android, driver UiAutomator2 dùng framework kiểm thử của Google; với iOS, driver XCUITest dùng framework của Apple. Test client không cần biết chi tiết này, nó chỉ gửi lệnh W3C và Appium định tuyến xuống đúng driver.
3. Cài đặt Appium 2 và driver
Appium 2 được cài dưới dạng gói Node, còn các driver được quản lý riêng bằng lệnh con appium driver. Cách tách này là điểm khác biệt lớn nhất so với bản cũ và bạn cần nắm để chuẩn bị môi trường đúng. Sau khi cài lõi, bạn cài UiAutomator2 cho Android và XCUITest cho iOS, rồi dùng công cụ appium-doctor hoặc appium setup để kiểm tra các phụ thuộc như Android SDK, biến môi trường và Xcode.
# Cài lõi Appium 2 toàn cục
npm install -g appium
# Cài driver theo nền tảng (Appium 2)
appium driver install uiautomator2 # Android
appium driver install xcuitest # iOS
# Kiểm tra driver đã cài & phiên bản
appium driver list --installed
# Khởi động server (mặc định cổng 4723, base path /)
appium server -p 4723Trước khi viết dòng test đầu tiên, hãy chắc chắn thiết bị hiển thị với công cụ nền tảng. Với Android, lệnh adb devices phải liệt kê emulator hoặc máy thật đã bật gỡ lỗi USB. Với iOS, bạn cần Xcode, một mô phỏng đã tạo và với máy thật là hồ sơ ký thích hợp. Bước kiểm tra này tiết kiệm rất nhiều thời gian vì phần lớn lỗi lúc mới bắt đầu đến từ môi trường chứ không phải từ kịch bản test.
4. Capabilities: khai báo phiên
Capabilities là bộ tham số bạn gửi khi tạo session để nói cho Appium biết cần điều khiển thiết bị nào, bằng driver gì và ứng dụng nào. Appium 2 dùng chuẩn W3C nên các khoá phải có tiền tố nhà cung cấp, ví dụ appium:deviceName thay vì viết trơn như bản cũ. Hiểu đúng nhóm capability giúp bạn tránh những lỗi khởi tạo phiên phổ biến nhất khi mới học.
💬 Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!