Thử nghiệm di động - Khung Robotium

Robotium là một khung thử nghiệm mã nguồn mở để viết các trường hợp thử nghiệm hộp xám tự động cho các ứng dụng Android. Với sự hỗ trợ của Robotium, các nhà phát triển trường hợp thử nghiệm có thể viết các kịch bản kiểm thử chức năng, hệ thống và chấp nhận, kéo dài nhiều hoạt động Android.

Robotium có thể được sử dụng cho cả các ứng dụng thử nghiệm có mã nguồn và các ứng dụng chỉ có tệp APK.

Lợi ích của Robotium

  • Dễ viết, mã ngắn hơn. Thời gian tối thiểu cần thiết để viết các trường hợp thử nghiệm vững chắc.

  • Bạn có thể phát triển các trường hợp thử nghiệm mạnh mẽ, với kiến ​​thức tối thiểu về ứng dụng đang được thử nghiệm.

  • Khung xử lý tự động nhiều hoạt động của Android. Khả năng đọc của các trường hợp thử nghiệm được cải thiện đáng kể, so với các thử nghiệm thiết bị đo tiêu chuẩn.

  • Định thời gian và độ trễ tự động.

  • Tự động theo dõi Hoạt động hiện tại.

  • Tự động tìm Lượt xem.

  • Tự động đưa ra quyết định của riêng mình (ví dụ: Khi nào thì cuộn, v.v.)

  • Không có sửa đổi đối với nền tảng Android.

  • Thực hiện kiểm tra nhanh chóng.

  • Các trường hợp thử nghiệm mạnh mẽ hơn do ràng buộc thời gian chạy với các thành phần GUI.

  • Tích hợp trơn tru với Maven hoặc Ant.

Hạn chế của Robotium

  • Robotium không thể xử lý các thành phần Flash hoặc Web.

  • Nó chỉ xử lý một ứng dụng tại một thời điểm.

  • Nó không thể mô phỏng cách nhấp vào bàn phím mềm bằng Robotium (cần sử dụng 'enterText ()' để nhập văn bản vào trường EditText)

  • Robotium không thể tương tác với Thông báo trên thanh trạng thái - nghĩa là kéo khu vực Thông báo xuống và nhấp vào Thông báo được chỉ định.

  • Có thể hơi chậm, đặc biệt là chạy trên các thiết bị cũ hơn.

Cách sử dụng Robotium

Step 1- Điều kiện tiên quyết để sử dụng Robotium là Java SDK (tối thiểu 1.6). Nếu bạn chưa cài đặt Java trên hệ thống của mình, hãy làm theo các bước dưới đây.

  • Tải xuống JDK và JRE từ Mạng Công nghệ Oracle

  • Chấp nhận thỏa thuận cấp phép.

  • Cài đặt JDK và JRE.

  • Đặt biến môi trường như thể hiện trong ảnh chụp màn hình bên dưới.

Step 2- Tải xuống Android Studio từ Android Studio

  • Nhấp đúp vào exe và chạy trình cài đặt.
  • Tiếp tục với tất cả các tùy chọn mặc định.
  • Đặt ANDROID_HOME.

Step 3 - Cài đặt hình ảnh và công cụ Android.

  • Nhấp vào Trình quản lý SDK -
  • Chọn gói cần thiết. Ví dụ: nếu chúng tôi đang xây dựng một Ứng dụng cho Android 4.4.2, hãy đảm bảo rằng các gói sau được chọn trong phần Công cụ -

    • Công cụ SDK Android phiên bản 22.6.3
    • Công cụ nền tảng Android phiên bản 19.0.1
    • Android SDK Build-tools phiên bản 19.1

Step 4 - Tạo thiết bị ảo Android.

  • Mở Android Studio và nhấp vào Trình quản lý AVD trên thanh công cụ. AVD cho phép chúng tôi kiểm tra và chạy các ứng dụng Android của chúng tôi.
  • Sử dụng các cài đặt sau cho Nexus5 AVD -

    • Thiết bị - Nexus 5 (4,95, 1080 x 1920; xxhdpi)
    • Mục tiêu - Google API x86 (Google Inc.) - API cấp 19
    • (Đảm bảo rằng bạn chọn mục tiêu có các API của Google trong tên.)
    • CPU - Intel Atom (x86)
    • Chọn hộp để Sử dụng GPU máy chủ
    • Bấm OK
  • Bây giờ bạn sẽ thấy AVD mà bạn đã tạo trong Trình quản lý AVD, nơi bạn có thể bắt đầu, xóa hoặc tạo một AVD khác!

Step 5- Tệp Robotium Jar Tải xuống tệp Robotium Jar từ RobotiumTech

Kiểm tra ứng dụng với Robotium

Để kiểm tra một ứng dụng với Robotium, hãy làm theo các bước dưới đây:

Step 1 - Tạo một Dự án thử nghiệm trong Android Studio có tên là “RobotiumTest”.

Chọn tất cả các tùy chọn mặc định cho đến khi bạn đến trang chính.

Step 2 - Copy file jar Robotium vào thư mục Lib của project.

Step 3 - Thêm phụ thuộc vào tệp build.gradle dưới src thư mục.

androidTestCompile 'com.jayway.android.robotium: robotium-solo-5.5.3'

Step 4 - Đồng bộ hóa Gradle.

Step 5 - Tạo lớp Kiểm tra như sau -

package com.example;

import com.robotium.solo.Solo;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.EditText;
import android.widget.TextView;

public class MyTestClass extends ActivityInstrumentationTestCase2<TestActivity>{

   private Solo solo;

   public MyTestClass() {
      super(TestActivity.class);
   }

   public void setUp() throws Exception {
      solo = new Solo(getInstrumentation(), getActivity());
   }

   public void testCase() throws Exception {
      String vResult="TestExample";
      EditText vEditText = (EditText) solo.getView(R.id.edit1);
      solo.clearEditText(vEditText);
      solo.enterText(vEditText,"TestExample");
      solo.clickOnButton("Submit");
      assertTrue(solo.searchText(vResult));
      TextView textField = (TextView) solo.getView(R.id.txt1);
      //Assert to verify result with visible value
      assertEquals(vResult, textField.getText().toString());
   }

   @Override
   public void tearDown() throws Exception {
      solo.finishOpenedActivities();
   }
}

Step 6- Lưu tất cả các thay đổi. Đảm bảo không có sai sót.

Step 7- Bây giờ, hãy chạy test case. Nếu trường hợp thử nghiệm thành công, bạn sẽ thấy kết quả sau!