Hướng dẫn thiết lập và chạy kiểm thử tự động Android với Appium

1. Chuẩn bị môi trường hệ thống

Để bắt đầu với Appium trên Android, bạn cần cài đặt và cấu hình các thành phần cơ bản sau:

  • Java Development Kit (JDK): Cài đặt JDK và thiết lập biến môi trường JAVA_HOME.
  • Android SDK: Cài đặt Android SDK thông qua Android Studio hoặc SDK Manager. Đảm bảo cài đặt các gói "Android Support Library" và "Google USB Driver" trong mục Extras.
  • Node.js: Tải và cài đặt Node.js từ trang chủ để sử dụng trình quản lý gói npm.
  • Appium Server: Bạn có thể cài đặt qua npm bằng lệnh npm install -g appium hoặc tải bản cài đặt Appium Desktop cho Windows.

2. Kiểm tra cấu hình hệ thống

Sử dụng công cụ appium-doctor để kiểm tra xem các biến môi trường và công cụ cần thiết đã sẵn sàng chưa. Mở terminal và chạy lệnh:

appium-doctor

Nếu thành công, bạn sẽ thấy thông báo xác nhận các đường dẫn như ANDROID_HOME, JAVA_HOME, và các tệp tin adb.exe, android.bat đều hợp lệ.

3. Cấu hình dự án Maven

Trong dự án Java của bạn (Sử dụng Eclipse hoặc IntelliJ), hãy thêm các phụ thuộc cần thiết vào tệp pom.xml để làm việc với Appium Client:

<dependencies>
    <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>3.3.0</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.48.2</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
</dependencies>

4. Xác định thông tin Package và Activity của ứng dụng

Để khởi chạy chính xác ứng dụng cần test, bạn cần biết appPackageappActivity. Cách chính xác nhất là sử dụng công cụ aapt đi kèm trong Android SDK:

aapt dump badging path/to/your/application.apk

Tìm các dòng thông tin sau trong kết quả trả về:

  • package: name='tv.danmaku.bilixl' (Đây là appPackage)
  • launchable-activity: name='tv.danmaku.bili.LauncherActivity' (Đây là appActivity)

5. Viết mã kiểm thử tự động

Dưới đây là cấu trúc mã nguồn Java để khởi tạo Appium Driver và thực hiện các thao tác cơ bản trên ứng dụng Android:

import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;

public class AndroidAutomationScript {
    public static void main(String[] args) throws MalformedURLException {
        AndroidDriver androidDriver;

        // Cấu hình đường dẫn đến tệp APK
        File rootDir = new File(System.getProperty("user.dir"));
        File appsFolder = new File(rootDir, "apps");
        File applicationFile = new File(appsFolder, "BiliPlayer.apk");

        // Thiết lập Desired Capabilities
        DesiredCapabilities deviceOptions = new DesiredCapabilities();
        deviceOptions.setCapability("deviceName", "Android Emulator");
        deviceOptions.setCapability("platformName", "Android");
        deviceOptions.setCapability("platformVersion", "4.4");
        
        // Đường dẫn tuyệt đối đến ứng dụng
        deviceOptions.setCapability("app", applicationFile.getAbsolutePath());
        
        // Thông tin định danh ứng dụng
        deviceOptions.setCapability("appPackage", "tv.danmaku.bilixl");
        deviceOptions.setCapability("appActivity", "tv.danmaku.bili.LauncherActivity");

        // Khởi tạo Driver kết nối với Appium Server
        androidDriver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), deviceOptions);

        System.out.println("Ứng dụng đã khởi chạy thành công.");
        
        // Các thao tác kiểm thử sẽ viết tại đây
        
        // Kết thúc phiên làm việc
        // androidDriver.quit();
    }
}

6. Phân tích giao diện với UI Automator Viewer

Để tìm ID hoặc tên của các phần tử trên màn hình (nút bấm, ô nhập liệu), bạn cần sử dụng công cụ UI Automator Viewer:

  1. Kết nối thiết bị Android hoặc khởi động trình giả lập.
  2. Mở thư mục Android SDK: tools/bin/uiautomatorviewer.bat.
  3. Nhấn vào biểu tượng "Device Screenshot" để chụp lại giao diện hiện tại của ứng dụng.
  4. Di chuột vào các thành phần để xem các thuộc tính như resource-id, class, text phục vụ cho việc viết script tìm phần tử (By.id, By.className...).

7. Xử lý lỗi thường gặp

Nếu bạn gặp lỗi Activity used to start app doesn't exist, hãy kiểm tra lại kỹ tên appActivity. Đôi khi Activity cần phải bao gồm cả đường dẫn package đầy đủ (ví dụ: tv.danmaku.bili.LauncherActivity thay vì chỉ .LauncherActivity). Hãy luôn ưu tiên kết quả trích xuất từ lệnh aapt.

Thẻ: appium Android selenium Maven Automation Testing

Đăng vào ngày 29 tháng 5 lúc 17:10