Appium là gì? Tìm hiểu công cụ kiểm thử tự động hóa mã nguồn mở
Kiểm thử phần mềm là một công việc khó. Vì thế, việc sử dụng các phần mềm trợ giúp trong việc kiểm thử sẽ mang lại kết quả tốt hơn cho đội ngũ phát triển dự án. Nhất là việc phải test một kịch bản nhiều lần tốn thời gian, sử dụng tool sẽ giúp giải quyết vấn đề trên. Appium là một phần mềm như vậy.
Vậy cụ thể Appium là gì? Cách cài đặt Appium ra sao? Những thắc mắc này sẽ được giải đáp chi tiết trong bài viết dưới đây của Bizfly Cloud nhé!
Appium là gì?
Appium là một công cụ kiểm thử tự động mã nguồn mở đa nền tảng. Appium được sử dụng để tự động hóa các test case cho các ứng dụng di động hybrid, native, mobile web. Công cụ này cho phép kiểm thử trên nhiều nền tảng như iOS, Windows và Android bằng cách sử dụng cùng một API. Appium hỗ trợ kiểm thử tự động hóa trên các nền tảng mô phỏng - simulators (iOS), và giả lập - emulator (Android), cũng như các thiết bị vật lý (cả Android và iOS).
Appium không phụ thuộc vào hệ điều hành của thiết bị di động. Bởi nó có framework giúp dịch các lệnh Selenium Webdriver thành các lệnh UIAutomation (iOS) hoặc UIAutomator (Android) tùy thuộc vào loại thiết bị. Appium hỗ trợ tất cả các ngôn ngữ có thư viện máy khách Selenium như Java, Objective-C, JavaScript với node.js, PHP, Ruby, Python, C #, v.v.
Trước đây, các Developer phải kiểm tra tính tương thích của sản phẩm cuối cùng với ba nền tảng riêng biệt (Android, iOS và Windows), đây là một công việc tốn nhiều thời gian và công sức. Với sự ra đời của Appium, các Developer có thể thực hiện kiểm thử tự động toàn bộ sản phẩm cuối cùng bằng cách sử dụng một nền tảng thống nhất.
Lý do nên sử dụng Appium
Vậy Appium là gì mà lại được nhiều doanh nghiệp tin tưởng sử dụng đến vậy. Nhiều chuyên gia đánh giá rằng đây thực sự là công cụ đáng để các lập trình viên nên dành thời gian nghiên cứu. Một số công dụng của Appium cần phải kể đến là:
- Khả năng kiểm tra hồi quy ứng dụng rất nhanh và đơn giản. Những kỹ sư hoặc lập trình viên đang nghiên cứu về mobile app nên sử dụng Appium.
- Appium có thể hỗ trợ dưới nhiều nền tảng hệ điều hành khác nhau, cụ thể là IOS và Android đây là hai nền tảng có số người dùng lớn nhất hiện nay.
- Appium hỗ trợ đa ngôn ngữ. Công cụ này thích hợp với vô số ngôn ngữ lập trình khác nhau như: Node.js, PHP, Python, Perl, C#... Đây là điểm cộng lớn bởi rất nhiều công cụ test khác gặp hạn chế về mặt ngôn ngữ lập trình.
Bên cạnh đó, Appium có thể khắc phục những nhược điểm của các công cụ tự động hóa khác trên thị trường. Appium có thể chạy liên tục trên nhiều trình giả lập khác nhau, giúp quá trình kiểm thử trở nên tiện lợi hơn bao giờ hết.
Kiến trúc của Appium
Appium là một máy chủ HTTP được viết bằng nodejs, tạo và xử lý nhiều phiên WebDriver cho các nền tảng khác nhau như iOS và Android. Appium bắt đầu một "test case" trên thiết bị sinh ra một máy chủ và nghe các lệnh proxy từ máy chủ Appium chính. Nó gần như giống như cách máy chủ Selenium nhận thức được yêu cầu HTTP từ thư viện máy khách selenium.
Sau đó xử lý các yêu cầu theo những cách khác nhau tùy thuộc vào nền tảng. Mỗi nhà cung cấp như IOS và Android có một cơ chế khác nhau để chạy một trường hợp kiểm thử trên thiết bị để Appium chạy test case này sau khi nhận lệnh từ máy chủ Appium.
Những điểm hạn chế của Appium
Cùng với một số tính năng và ưu điểm, Appium cũng có một số nhược điểm, đó là:
- Thiếu các báo cáo chi tiết.
- Quá trình thực thi kiểm thử Appium có thể chậm hơn các framework khác.
- Trong iOS, chỉ một phiên bản (iOS Script) có thể chạy trên một thiết bị Mac OS, có nghĩa là mỗi máy Mac có thể thực hiện một test tại một thời điểm. Nếu bạn muốn chạy thử nghiệm của mình trên nhiều thiết bị iOS cùng một lúc, bạn cần sắp xếp cùng một số lượng máy Mac, như vậy sẽ rất tốn kém.
- Các phiên bản Android thấp hơn 4.2 không được hỗ trợ kiểm thử.
- Appium có giới hạn hỗ trợ thử nghiệm ứng dụng kết hợp (hybrid app).
- Không có hỗ trợ doanh nghiệp cho Appium. Nếu bạn gặp sự cố trong khi kiểm thử ứng dụng, bạn sẽ phải nhờ đến sự hỗ trợ của cộng đồng để giải quyết vấn đề của mình.
- Appium không được hỗ trợ bởi tự động hóa do AI điều khiển và chưa tận dụng nhiều AI. Điều này bao gồm việc tự động tạo các test case dựa trên hành vi của người dùng.
Hướng dẫn cài đặt Appium
1. Cài đặt JDK
- Download JDK tại đây: https://www.oracle.com/java/technologies/javase-downloads.html
Chạy Installer và tiến hành cài đặt.
- Chỉ định đường dẫn đến phiên bản JDK của bạn trong JAVA_HOME environment variable. Để thực hiện việc này, hãy mở Control Panel, tìm kiếm "environment variable", trong hộp thoại tiếp theo, nhấp vào environment variable, sau đó đặt giá trị variable:
2. Cài đặt NodeJS và NPM
Tải xuống các gói cài đặt tại đây: https://nodejs.org/en/download/
Giải nén và tiến hành cài đặt.
3. Cài đặt Android Studio
Tải xuống gói cài đặt tại đây: https://developer.android.com/studio/
Chạy Installer và tiến hành cài đặt.
Khi cài đặt, hãy đảm bảo tích chọn Android Virtual Device:
4. Cấu hình Android Virtual Device (các thiết bị ảo Android)
- Khởi động Android Studio.
- Trong hộp thoại Welcome, chọn Configure > SDK Manager. Trong hộp thoại con SDK Manager tiếp theo:
+ Trên tab SDK Platforms, chọn SDK mà bạn sẽ cần để test. Chọn ít nhất một SDK.
+ Chuyển sang tab SDK Tools và đảm bảo rằng các công cụ sau được tích chọn ở đó:
- Android SDK Build-tools. Chọn phiên bản mới nhất hiện có.
- Android SDK Platform-Tools
- Intel x86 Emulator Accelerator (HAXM installer)
+ Sao chép giá trị của box Android SDK Location ở trên đầu hộp thoại SDK Manager. Chúng ta sẽ cần giá trị này sau:
Đóng SDK Manager.
- Trong hộp thoại Welcome, chọn Configure > AVD Manager. Thao tác này sẽ mở hộp thoại AVD Manager, nơi bạn có thể tạo và khởi chạy các thiết bị ảo Android (trình giả lập/emulator).
Nếu hộp thoại không liệt kê thiết bị bạn cần, hãy nhấp vào Create virtual device và tạo trình giả lập thiết bị cần thiết.
- Để tạo và chạy kiểm thử, bạn cần chỉ định đường dẫn đến tệp Android SDK (đường dẫn mà text box "Android SDK Location" hiển thị) trong ANDROID_HOME environment variable: mở Control Panel, tìm kiếm "environment variable". Trong phần tiếp theo, bấm Environment variable, sau đó đặt giá trị variable. Nếu variable không tồn tại, hãy thêm nó vào danh sách "System variables":
5. Cài đặt Appium
- Download Appium tại trang chủ: http://appium.io/. Chọn hệ điều hành của máy bạn đang làm việc và tải xuống phiên bản thích hợp. Giải nén và tiến hành cài đặt.
- Khởi động Command Prompt với tư cách quản trị viên.
- Chạy lệnh sau:
npm install -g appium
- Sau khi cài đặt xong, hãy chạy lệnh này trong Command Prompt ở chế độ quản trị viên:
Appium
Bây giờ, Appium Desktop UI sẽ xuất hiện trên màn hình chứa Host và Port mặc định (có thể thay đổi được): Host - 0.0.0.0; Port - 4723
Nhấp vào nút Start Server và khởi động Appium Server. Bạn có thể thấy thông báo trên đầu màn hình rằng The server is running:
Chúc các bạn thao tác thành công!
Một số câu hỏi thường gặp của Appium
- Tài liệu nào cung cấp đầy đủ kiến thức về Appium?
Appium Document sẽ giúp các bạn tìm hiểu Appium là gì? chức năng, và cách sử dụng sâu rộng về phần mềm này. Bạn không cần một trình độ tiếng Anh quá xuất sắc, chỉ cần sử dụng Google dịch cũng có thể hiểu khoảng 80% những gì tài liệu chia sẻ.
- Làm cách nào để tìm DOM hoặc XPath trong ứng dụng mobile?
Để tìm phần tử DOM hoặc XPath trong ứng dụng, phần mềm mobile Android. Bạn có thể sử dụng công cụ UIAutomatorviewer để hỗ trợ bạn trong việc tìm kiếm đấy!
- Cách sửa lỗi "error:org.openqa.selenium.SessionNotCreatedException: A new session could not be created." ra sao?
Khi gặp phải lỗi này đồng nghĩa với việc bạn sử dụng đường dẫn sai đến các thành phần của App.
Để sửa lỗi, bạn cần sửa lại đúng đường dẫn đến các thành phần sau đó khởi động lại Appium server.
- Sửa lỗi "The following desired capabilities are required, but were not provided: device Name, platformName" bằng cách nào?
Lỗi "The following desired capabilities are required, but were not provided: device Name, platformName" xuất hiện khi bạn chưa cung cấp đầy đủ thông tin về: Tên thiết bị, tên nền tảng tệp khi chạy Appium.
Để sửa lỗi, bạn cần cung cấp đầy đủ các thông tin trong script cho Appium như:
capabilities.setCapability ("deviceName","Meomeomeo") capabilities.setCapability ("platformName","Android")
Appium thực sự là phần mềm sẽ giúp lập trình viên hay tester tiết kiệm thời gian trong việc kiểm thử ứng dụng. Nếu bạn đang đang đau đầu với việc phải test đi test lại cùng một kịch bản với nhiều lần thì đừng ngần ngại sử dụng công cụ hữu ích này nhé. Hi vọng bài viết trên sẽ giúp bạn hiểu rõ hơn tool Appium là gì cũng như cách sử dụng.
Bizfly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.
Bizfly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.
Độc giả quan tâm đến các giải pháp của Bizfly Cloud có thể truy cập tại đây.
DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud