Để kiểm thử một phần mềm có rất nhiều cách, nay mình sẽ giới thiệu và hướng dẫn cài đặt Appium – một công cụ kiểm thử chất lượng phần mềm tự động.
Giới thiệu
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 native app, mobile web app, và hybrid app trên nền tảng iOS và Android.
Appium hỗ trợ “đa nền tảng” (cross-platform) cho phép bạn sử dụng API giống nhau để viết test cho các nền tảng khác nhau (iOS và Android). Điều này khá là tiện lợi khi bạn muốn sử dụng lại các test suites của mình.
Appium được phát triển dựa trên các điểm sau: Không nên biên dịch lại app để tự động hóa nó. Không nên bị khóa vào một ngôn ngữ hay một framework cụ thể. Nên là mã nguồn mở. Không cần thiết phải kiểm thử tự động khi đã là các API tự động hóa
Appium hỗ trợ kiểm thử tự động phần mềm trên cả emulator, simulator và devices.
Dưới đây là bảng so sánh giữa Appium và một số công cụ khác:

Nguyên lý của Appium
1. Không nên biên dịch lại ứng dụng của bạn để tự động hóa nó. Nghĩa là dùng trình biên dịch để dịch một chuỗi các câu lệnh được viết bằng một ngôn ngữ lập trình (gọi là ngôn ngữ nguồn hay mã nguồn). Thành một chương trình tương đương nhưng ở dưới dạng một ngôn ngữ máy tính mới (gọi là ngôn ngữ đích) và thường là ngôn ngữ ở cấp thấp hơn, như ngôn ngữ máy. Chương trình mới được dịch này gọi mã đối tượng.
2. Không nên bị khóa vào một ngôn ngữ hoặc framework cụ thể.
3. Một Framework test tool mobile phải là mã nguồn mở.
4. Một Framework test tool mobile không nên tái tạo lại vòng đời khi nói đến các API tự động hóa. Nghĩa là không nên lãng phí thời gian hoặc công sức trong việc tạo ra thứ gì đó đã được tạo ra hoặc được tối ưu hóa bởi những người khác.
Ưu điểm của Appium
- Appium hỗ trợ nhiều platform khác nhau bao gồm: Android, IOSFirefoxOS
- Appium hỗ trợ đa ngôn ngữ : Java, Objective-C, ·JavaScript with Node.js, PHP, Python, Ruby, Clojure, Perl.
Nhược điểm của Appium
- Không hỗ trợ cho Android API level < 17, tức là Android < 4.2
- ·Chạy script rất chậm trên platform iOS
- ·Hỗ trợ hành động cử chỉ có giới hạn
- ·Không hỗ trợ Toast message
Hướng dẫn cài đặt Appium
Download và cài đặt JDK trên window
Truy cập trang web của oracle để download tại đây.

Cài đặt biến JAVA_HOME
Xác định đường dẫn thư mục cài đặt JDK trong máy tính của bạn. Đi tới C:\Program Files\Java. Sẽ có thư mục JDK với phiên bản tương tự khi cài đặt. Ví dụ: phiên bản JDK đã cài đặt là “jdk1.8.0_191“ => Click duoble và copy đường dẫn.
Thiếp lập biến JAVA_HOME:
– Nhấp chuột phải vào biểu tượng My Computer nằm trên màn hình của bạn hoặc Window.
– Chọn “Properties”. Hộp thoại “System” xuất hiện

Click “Advanced system settings” như hình dưới. Hộp thoại “System properties” xuất hiện.

- Click Advance tab > Click “Environment Variables” button. Hộp thoại “Environment Variables” xuất hiện.
- Tại mục “System variable”, click “New” button. Hộp thoại “New System Variable” xuất hiện.
- Đặt tên biến = JAVA_HOME.
- Đặt giá trị biến = Đường dẫn nơi đặt JDK. Ví dụ như trên máy tính là “C:\Program Files\Java\jdk1.8.0_191” được đặt trong bước trước như được mô tả ở trên. Nó phụ thuộc vào đường dẫn cài đặt java của riêng ta và phiên bản đã cài đặt.
- Sau cùng là Click “OK” ở tất cả các hộp thoại để kết thúc.
Đặt biến đường dẫn cho Java:
– Ngoài ra, cần thiết lập đường dẫn thư mục bin của JDK trong biến đường dẫn của các biến hệ thống. Ta sẽ tìm thấy thư mục bin bên trong thư mục JDK của mình. Để đặt biến hệ thống đường dẫn của JDK, ta làm theo các bước sau:
Mở hộp thoại “Environment Variables” như mô tả ở trên và trong hình dưới.

- Trong mục “System Variable”, chọn Path.
- Click button “Edit”. Hộp thoại “Edit system variable” xuất hiện.
- Ở cuối chuỗi giá trị biến Path, Đặt dấu chấm phẩy [ ; ] và sau đó đặt đường dẫn thư mục bin của thư mục JDK. Ví dụ đường dẫn thư mục bin trong máy của tôi là “C:\Program Files\Java\jdk1.8.0_191\bin”
- Nhấp vào nút OK để đóng tất cả hộp thoại đã mở.
⇨ Như vậy, ta đã thiết lập đường dẫn thư mục bin JDK trong biến môi trường hệ thống.

Hướng dẫn download Android SDK
Lưu ý :
– Yêu cầu cấu hình hệ thống : 2 GB RAM minimum, 4 GB RAM recommended ( Cái này RAM ít nhất 4 GB thì mới chạy được nhé, máy 2 GB RAM thì không làm ăn được gì đâu)
– Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit)
– 20 to 30 GB Hard disk space.
Khi quá trình download hoàn thành, ta đặt file .zip vào ổ có dung lượng lưu trữ đủ lớn vì Android SDK cần 20 đến 30 GB dung lượng trên đĩa để lưu trữ các tệp khác nhau.
Giải nén file zip, sau đó ta nên đổi tên folder thành “SDK” cho dễ quản lý nhé.

Cài đặt một số package yêu cầu bắt buộc :
- Để tạo trình giả lập Android để kiểm thử, cần tải xuống và cài đặt một vài gói. Ta có thể làm điều đó bằng cách sử dụng Android SDK Manager. Xem bên trong thư mục SDK. Sẽ có file “SDK Manager.exe”.
- Thực thi cài đật nó bằng cách nhấp đúp. Hộp thoại “Android SDK Manager” xuất hiện.
- Gói công cụ Android SDK sẽ được cài đặt theo mặc định.

Cài đặt biến ANDROID_HOME và biến môi trường cho SDK trên window :
- Chuột phải vào ‘MyComputer’ và chọn Properties > Chọn ‘Advanced system settings‘.
- Trong tab Advanced chọn ‘Environment Variable…‘ , chọn New trong System variables.

Điền Variable name là ‘ANDROID_HOME‘, Variable value là đường dẫn đến thư mục SDK..
- Chọn Path trong System variables rồi chọn Edit
- Điền thêm chuỗi ‘;%ANDROID_HOME%\tools‘ vào phía sau cùng variable value.
- Chọn Path một lần nữa để thiết lập đường dẫn đến platform-tools.
- Điền thêm chuỗi ‘;%ANDROID_HOME%\platform-tools‘ vào sau cùng.
Cài đặt ADT plugin để sử dụng Android SDK với Eclipse :
- Mở Eclipse IDE, chọn Help > Install New Software.
- Click “Add”, và set link URL “https://dl-ssl.google.com/android/eclipse/ “
- Chọn tất cả các hộp kiểm tra của các công cụ phát triển và bấm vào nút Next. Nó sẽ đưa ta đến các chi tiết cài đặt.

Set SDK Location :
Ta cần đặt đường dẫn thư mục SDK sau khi cài đặt plugin ADT cho phép Eclipse tích hợp với môi trường phát triển phần mềm Android. Làm theo các bước dưới đây:
- Mở Eclipse, chọn Windows -> Preferences.
- Đặt path folder sdk như hình dưới

Cài đặt phần mềm bổ sung khác cho cấu hình Appium
- Tải và cài đặt Microsoft.NET
- Tải và cài đặt NodeJS
- Tải và cài đặt PDANet+ cho Android
Cài đặt Appium
- Chuyển đến trang http://appium.io
- Click nút “Download” và chọn tải file phù hợp với máy của mình.
- Sau khi tải hoàn thành tiến hành cài đặt bình thường, và đây là giao diện Appium

Kết nối thiết bị Android với PC trong chế độ gỡ lỗi USB để chạy thử nghiệm Appium :
- Bật tùy chọn Developer Option
- Kết nối thiết bị với PC và bắt đầu chế độ gỡ lỗi USB
- Xác minh thiết bị được kết nối đúng với PC
- Mở cmd
- Chạy lệnh ‘adb devices’: Nó sẽ hiển thị ra danh sách các thiết bị được kết nối với PC. Nếu không hiển thị bất kỳ thiết bị nào trong danh sách có nghĩa là có một số vấn đề với kết nối thiết bị hoặc chế độ gỡ lỗi USB không được bật đúng cách.
Xác định các phần tử ứng dụng Android bằng cách sử dụng UI Automator Viewer :
UI Automator Viewer là một công cụ được cung cấp bởi Android SDK. UI Automator Viewer sẽ cung cấp cho ta một giao diện người dùng để quét và phân tích các thành phần giao diện người dùng của ứng dụng phần mềm Android.
- Ta sẽ tìm thấy tập tin uiautomatorviewer.bat trong thư mục công cụ của SDK.
- Kết nối thiết bị Android của bạn với PC (chế độ gỡ lỗi USB sẽ được bật) như được mô tả trên.
- Chạy lệnh “adb devices” để xác minh thiết bị được kết nối đúng với PC.
- Chạy tập tin uiautomatorviewer.bat từ thư mục sdk. Nó sẽ mở giao diện người dùng của công cụ UI Automator Viewer như dưới đây.
Mở 1 ứng dụng bất kỳ trên điện thoại. Ví dụ mở ứng dụng chatwork:
Trong công cụ phần mềm UI Automator Viewer, nhấp vào nút Ảnh chụp màn hình thiết bị như trong hình dưới đây. (Trước khi nhấp vào nút, hãy đảm bảo ứng dụng Máy tính đang mở trong điện thoại Android của bạn và đang ở chế độ hoạt động. Có nghĩa là điện thoại đã được mở khóa và có thể thấy ứng dụng Chatwork trên màn hình).

Sau khi chụp ảnh chụp màn hình của màn hình điện thoại Android, nó sẽ hiển thị giao diện người dùng máy tính của điện thoại Android của bạn trong giao diện người dùng tự động xem như dưới đây:

Trên trang web bên trái, ta sẽ thấy ảnh chụp màn hình của ứng dụng máy tính đang mở trong thiết bị Android. Phần trên cùng bên phải sẽ hiển thị chế độ xem phân cấp của phần tử giao diện người dùng của ứng dụng máy tính.

Ta có thể kiểm tra bất kỳ yếu tố nào của ứng dụng gốc android bằng công cụ phần mềm UI Automator Viewer. Chỉ cần nhấp vào phần tử ta sẽ thấy chi tiết thuộc tính tương đối của phần tử đó.
Lấy file APK của app
- Vào trang https://play.google.com/store. Điền “Chatwork” vào ô Search, rồi thực hiện tìm kiếm.
- Bấm chọn vào ứng dụng chatwork bên dưới. Sau đó copy đường link phía trên.

Vào trang http://apps.evozi.com/apk-downloader/. Sau đó paste đường link vừa copy ở trên vào vùng bôi đỏ như trong hình dưới.

Click “Generate Download Link”. Click vào “Click here to download jp.ecstudio.chatworkandroid now” để download file apk về máy. Để file apk vào trong một thư mục mang tên STC nằm trong thư mục project. C:\Users[username]\Downloads\Myproject_Appium_Chatwork
Run Appium server
- Vào thư mục Appium đã download trước đó, run Appium.exe.
- Note lại server address và port, lát nữa ta sẽ viết nó trong code script test.
Click vào nút Start Server v1.18.3. Như vậy là chúng ta đã hoàn thành các bước cài đặt Appium để sẵn sàng viết test script.

Chuẩn bị :
1.Thông tin App Test
2.Phần mềm Appium
3.Android Studio
4.Các lib hỗ trợ test
Các lib hỗ trợ :
1.Appium client libraries: Tạo phiên làm việc tự động trên server
2.Selenium libraries: Hỗ trợ kết nối máy tính và thiết bị di động, tự động thực hiện
3.Lang 3 Libraries: Hỗ trợ kết nối Api java.lang của hệ thống, xử lý logic
4.TestNg Libraries: Hỗ trợ test nhiều case cùng một lúc.
Cảm ơn các bạn đã ghé thăm. Chúc các bạn thành công!