Sử dụng Calabash cho Android

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.

  1. 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
    
  2. 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.

  3. 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:

    Selection_003.png

    Trong trường hợp bị lỗi, vào Setting và bật chế độ USB debugging của device lên.

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

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

    Selection_004.png

    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:

    Selection_005.png

  6. 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:

    Selection_006.png

    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

    Selection_010.png

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