Tìm hiểu về Appium và cách cài đặt Appium
Bài đăng này đã không được cập nhật trong 5 năm
1. Appium là gì
Appium là một công cụ mã nguồn mở được sử dụng để kiểm thử tự động các ứng dụng dạng native app, mobile web app và hybrid app trên nền tảng iOS và Android.
Các ứng dụng native app là những ứng dụng được viết bằng iOS SDK, Android SDK hoặc Windows SDK. Các ứng dụng mobile web app là những ứng dụng web được truy cập bằng trình duyệt trên thuyết bị di động (ví dụ như truy cập qua Safari trên iOS hoặc Chrome trên Android). Ứng dụng hybrid app là ứng dụng được xây dựng bao quanh bởi một webview, cho phép người dùng có thể tương tác với nội dung web thông qua app.
Điều quan trọng là Appium hỗ trợ đa nền tảng, cho phép bạn sử dụng cùng một API để viết kiểm thử tự động cho các nền tảng khác nhau (iOS, Android, Windows)
Appium hỗ trợ tất cả các ngôn ngữ có thư viện Selenium client như: Java, Objective-C, JavaScript với node.js, PHP, Ruby, Python,..
2. Appium hoạt động như thế nào?
Khi chúng ta thực thi các lệnh, một yêu cầu HTTP ở dạng JSON sẽ được gửi tới máy chủ Appium, sau đó máy chủ Appium gửi lệnh tới UIAutomator (với Android) hoặc Instruments (với iOS). Và sau đó các framework này sẽ thực thi lệnh trên các thiết bị Android, iOS và trả về kết quả.
- UIAutomator là một framwork của Android hỗ trợ chạy các test case trực tiếp bằng Junit trên thiết bị từ dòng lệnh
- Instruments được sử dụng để thực hiện nhiều hoạt động như lập hồ sơ, điều khiển và build ứng dụng iOS, nhưng nó cũng được sử dụng để hỗ trợ chúng ta có thể viết một số lệnh trong javascript sử dụng API UIAutomation để tương tác với App.
3. Các phần mềm cài đặt để tạo project Appium
- Cài đặt Android SDK (Studio)[Link]
- Cài đặt JDK (Java Development Kit) [Link]
- Cài đặt Eclipse [Link]
- Cài đặt TestNG [Link]
- Cài đặt Appium Desktop [Link]
4. Cài đặt máy ảo
Bạn có thể tạo một máy ảo từ phần mềm Android Studio theo các bước sau:
- Bước 1: Mở configuration -> chọn AVD Manager
- Bước 2: Chọn tạo máy ảo
- Bước 3: Chọn thiết bị và version Android cần tải
- Bước 4: Cài đặt cấu hình cho máy ảo
-
Bước 5: Sau khi thực hiện xong các bước trên, ta sẽ có một máy ảo như hình dưới. Sau đó chúng ta cần bật chế độ Debug Developer trong setting.
-
Bước 6: Để kiểm tra xem máy ảo đã thực sự được kết nối với máy tính chưa, mở command line và chạy lệnh sau:
5. Tạo một dự án đơn giản
Sau khi cài đặt xong tất cả các phần mềm, bây giờ chúng ta sẽ thực hành tạo một dự án đơn giản với Caculator
- Tạo một project Maven trong Eclipse
- Mở file pom.xml trong project vừa tạo, thêm thư viện Selenium java và Appium java client vào phụ thuộc . Bạn có thể tìm các phiên bản của thư viện tại đây:
- Selenium java: https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java
- Appium java client: https://mvnrepository.com/artifact/io.appium/java-client
Sau khi có phiên bản của các thư viện, file pom.xml sẽ được thư viện vào như sau:
- Lấy thông tin của ứng dụng.
Để lấy thông tin của ứng dụng, các bạn cài 1 ứng dụng khác trên Google Play để có thể xem được thông tin của các ứng dụng khác. Ví dụ các bạn có thể cài App Info trên Google Play, sau khi cài xong chúng ta thực hiện theo những bước sau để lấy thông tin của ứng dụng:
-
Bước 1: Chọn ứng dụng cần lấy thông tin
-
Bước 2: Lấy tên gói của ứng dụng
-
Bước 3: Lấy thông tin của appActivity
- Bật Appium server
Chúng ta bật appium server lên, chuyển sang Advanced tab và đổi Server Address thành “127.0.0.1”, sau đó ấn Start server và chờ appium server được chạy. Nếu bạn sử dụng thiết bị thật để chạy kiểm thử tự động thì ta có thể giữ nguyên cài đặt ban đầu, không cần thay đổi địa chỉ server.
- Tạo một class đơn giản tên Caculator trong thư mục scr/java
Sau khi có thông tin ứng dụng, tạo một class đơn giản thử nghiệm với Caculator như sau:
package appiumtest;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
public class Caculator {
static AppiumDriver<MobileElement> driver;
public static void main(String[] args) {
try {
openCaculator();
} catch (Exception e) {
System.out.println(e.getCause());
System.out.println(e.getMessage());
e.printStackTrace();
}
}
public static void openCaculator() throws Exception {
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability("devicesName", "Galazy J5"); //tên devices
cap.setCapability("uid", "4de4eef1"); //uid lấy từ commandline: "abd devices"
cap.setCapability("platformName", "Android");
cap.setCapability("platformVersion", "6.0.1"); //vào setting -> about phone -> android version
cap.setCapability("appPackage", "com.sec.android.app.popupcalculator"); //tên gói của ứng dụng, lấy trong bước 2 bên trên
cap.setCapability("appActivity", "com.sec.android.app.popupcaculator.Calculator"); //thông tin Launcher activity lấy trong bước 3
URL url = new URL("http://127.0.0.1:4723/wd/hub"); //khởi tạo url để kết nối với máy chủ appium server
driver = new AppiumDriver<MobileElement>(url, cap); //sẽ chạy Caculator app trên thiết bị Android sử dụng các cài đặt bên trên
System.out.println("Syestem started.....");
}
}
Sau cùng, chạy kiểm thử trên thiết bị Android đã cài đặt bên trên, ta chọn Run As -> Java Application
Trên đây là toàn bộ các bước cần thiết để có thể tạo một ứng dụng tự động hóa với Appium, mong rằng các bạn đã cài đặt, cấu hình và chạy mã tự động hóa trên di động thành công.
Các bài viết tham khảo:
https://www.guru99.com/introduction-to-appium.html
All rights reserved