Sử dụng Calabash cho Android
Bài đăng này đã không được cập nhật trong 3 năm
Testmunk Android cho phép bạn viết các trường hợp thử nghiệm chức năng tự động mà bạn có thể chạy trên các thiết bị Android khác nhau với các phiên bản hệ điều hành khác nhau. Mục tiêu của chúng tôi là bạn có thể giảm thời gian kiểm tra của bạn rất nhiều. Sau khi cài đặt, bạn sẽ có thể viết testcases và để chúng chạy cục bộ trên giả lập của bạn và các thiết bị Android cũng như trên một loạt các thiết bị Android.
-
Cài đặt Calabash Gem
Để bắt đầu với Testmunk, trước tiên bạn phải cài đặt Calabash gem, đơn giản là bạn chỉ cần mở terminal, và thực hiện:
`$ gem install calabash-android
Trong trường hợp bạn thực hiện bị lỗi, hãy thử:
`$ sudo gem install calabash-android
-
Download và cài đặt Android SDK
Android SDK là 1 công cụ cần thiết để xây dựng các ứng dụng của Android. Bạn có thể download nó tại:
https://developer.android.com/sdk/index.html
Sau khi tải vể bạn hãy copy và paste cả 2 folder (SDK và Eclipse) vào trong thư mục ứng dụng của bạn.
-
Configure Bash profile
Các Bash_profile .bash_profile là một tập tin ẩn trong thư mục cá nhân của bạn mà bạn sẽ cần phải cấu hình cho Android SDK. Sau khi chuyển SDK và thư mục eclipse trong thư mục ứng dụng của bạn, bạn có thể sao chép dán 2 dòng sau vào .bash_profile của bạn.
`export ANDROID_HOME=/Applications/sdk `export PATH=$PATH:$ANDROID_HOME:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/add-ons
Sau khi bạn đã cấu hình bash_profile của bạn, hãy đóng tất cả các cửa sổ terminal để ảnh hưởng đến sự thay đổi của bạn. Cắm thiết bị Android của bạn vào máy: Sau khi bạn đã cắm vào thiết bị Android của bạn vào máy tính của bạn, mở một cửa sổ terminal mới và thực hiện: `$ adb devices
Nếu bạn thấy hiển thị kết quả tương tự dưới đây thì có nghĩ là thiết bị của bạn đã được nhận:
Trong trường hợp bị lỗi, vào Setting và bật chế độ USB debugging của device lên.
-
Download the Testmunk sample application
Chúng ta có thể sử dụng file APK để viết Calabash, bạn có thể tải file APK mẫu tại đây:
https://github.com/testmunk/TMSampleAndroid
Sau khi tải thành công, bạn mở terminal ra và thực hiện:
`$ calabash-android run TestmunkTest_debug.apk --verbose
Sau khi chạy câu lệnh này, ứng dụng sẽ được cài trên máy của bạn, và chạy các trường hợp kiểm thử của bạn.
-
Inspect app for elements
5.1. UI Automator Viewer
Mở ứng dụng trên thiết bị của bạn, và thực hiện câu lệnh sau trên terminal:
`$ uiautomatorviewer
Trên cửa sổ mới được mở ra, hãy nhấp vào biểu tượng thiết bị ở góc trên bên trái để có được một ảnh chụp màn hình thực tế từ các thiết bị.
Kiểm tra này rất quan trọng để xác định các elements thích hợp mà sau này bạn sẽ cần cho các trường hợp test của bạn. Ví dụ: resource_id cần thiết để thực hiện teststep: Then I touch view id…
5.2. Calabash console
Bạn có thể lấy các elements bằng cách sử dụng console. Mở một cửa sổ terminal mới, cd vào thư mục chứa tập tin APK và thực hiện:
`$ calabash-android console app-debug.apk
Sau đó nhập các lệnh:
`> start_test_server_in_background `> query("*")
Bạn sẽ thấy 1 danh sách các elements của màn hình ứng dụng bạn đang mở hiện ra:
-
Viết Testcase
Một số ví dụ về testcase trong Calabash:
`Feature: Testapp V.1.2 Scenario: 1) Going to next screen and back When I enter "Something" into input field number 1 Then I press the "See details" button Then I wait Then I should see text containing "Something" Then I go back Then I should see text containing "test app"
Để chạy testcase, bạn chỉ cần thực hiện:
`$ calabash-android run app-debug.apk
Khi chạy case bạn viết ra ok, màn hình kết quả sẽ hiển thị như sau:
Trong hàm thư viện cảu Calabash, đã định nghĩa khá đầy đủ và bạn có thể tham khảo để sử dụng:
http://docs.testmunk.com/en/latest/steps.html
Trong trường hợp, case bạn sử dụng không có sẵn trong thư viện, thì bạn phải viết thêm định nghĩa cho case đó (bằng ruby), bằng cách viết thêm hoặc tạo mới một file định nghĩa lưu dưới dạng.rb trong folder step_definitions.
Dưới đây là ví dụ viết cho case: scoll màn hình
Trên đây là những điều cơ bản để có thể tiếp cận và sử dụng Calabash cho Android. Hi vọng, nó có thể giúp mọi người hiểu và áp dụng được vào trong các dự án Android.
All rights reserved