CYBERSOFT
Đăng nhập

Appium nền tảng: kiến trúc, cài đặt & test mobile đầu tiên

Chuyên công nghệAppiumNền tảng
🗓 1 tháng trước21 phút đọc·👁 667 lượt xem👤 136 người đọc

Nắm kiến trúc client-server-driver của Appium 2, cài đặt driver UiAutomator2/XCUITest, khai báo capabilities W3C, chạy test đầu tiên trên emulator và máy thật, chọn locator ổn định và tạo cử chỉ qua W3C Actions cho ứng dụng viễn thông.

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
Appium không thay thế kiểm thử tay hoàn toàn; nó giải phóng con người khỏi các kịch bản hồi quy lặp đi lặp lại để tập trung vào kiểm thử khám phá và trải nghiệm.

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ị.

Kiến trúc Appium — client / server / driver Test Client Java · JS · Python WebDriver bindings Appium Server 2.x HTTP · W3C protocol route /session /element UiAutomator2 driver Android XCUITest driver iOS JSON /session Cùng một test → đổi driver theo nền tảng, không đổi WebDriver protocol.
Ba lớp Appium và cách một test dùng chung protocol cho hai nền tảng.

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.

Appium 2 tách hẳn driver thành plugin cài riêng qua trình quản lý driver, khác với Appium 1 gộp sẵn mọi driver. Điều này giúp bản lõi nhẹ và bạn chỉ cài driver mình cần.

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.

bash
# 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 4723

Trướ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.

💡 Ghim phiên bản driver trong tài liệu môi trường của đội. Driver mới có thể đổi hành vi nhỏ, và mọi máy trong đội nên chạy cùng bộ phiên bản để tránh lỗi khó tái hiện.

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.

🔒

Nội dung bị khoá

Bạn đang xem bản xem trước. Đăng nhập để mở khoá toàn bộ bài viết và tất cả tài liệu Tester/QA.

Đã xem 25% nội dung
  • Đọc trọn vẹn mọi bài viết
  • Lưu bài & ghi chú cá nhân
  • Theo dõi tiến độ đã đọc
  • Luyện phỏng vấn, ISTQB, Mock
Đăng nhập để đọc tiếp

Chưa có mã? Lấy mã qua Fanpage / Zalo CyberSoft.

0

💬 Bình luận (0)

Bạn có thể đọc mọi bình luận. Đăng nhập để bình luận

Chưa có bình luận nào. Hãy là người đầu tiên!