Trong bài viết này mình sẽ hướng dẫn các setup enviroment cho appium sử dụng trong mobile test.
Environment:
- Hệ điều hành ubuntu 20.04
- Máy điện thoại sử dụng hệ điều hành android
Những phần mềm cần cài đặt:
1. ABD (Android Debug Bridge) Dùng để connect máy tính với thiết bị điện thoại thật
Hướng dẫn chi tiết donwload
Download tại link: How To Install ADB and Fastboot on Ubuntu 20.04 LTS – idroot
Step 1: chạy lệnh update system
sudo apt update
sudo apt upgrade
Step 2: Installing ADB and Fastboot on Ubuntu 20.04.
sudo apt install android-tools-adb
sudo apt install android-tools-fastboot
Kiểm tra adb version bằng lệnh
adb version
Sau đó bật server bằng lệnh
sudo adb start-server
Step 3: Kiểm tra adb connection bằng lệnh
adb devices
- Nếu thiết bị connect thành công bạn sẽ hiện list thiết bị đã kết nối
Nếu không hiển thị list thiết bị đã kết nối hãy kiểm tra lại:
- Dây cáp đã kết nối điện thoại với máy tính chưa?
- Check xem máy đã bật chế độ debug và cấp quyền trao đổi dữ liêu qua usb chưa?
2. Download NodeJS
Chi tiết cách download NodeJS
Sử dụng download option 2 để cài NodeJS version > 10 vì appium yêu cầu bản NodeJS này
Xem phần option 2 tại link How To Install Node.js on Ubuntu 20.04 | DigitalOcean
3. Download Android Desktop 1.20
Android Desktop dùng để locator các element trên app
Xem chi tiết cách hướng dẫn cài đặt dưới đây
Chi tiết
Truy cập vào trang web của appium Appium: Mobile App Automation Made Awesome.
Chọn phiên bản 1.20 tải về máy
Lưu ý: Ở máy tính nên tạo một thư mục tên “Application” để lưu trữ
Để run được appium cần phải cấp quyền execute file khi tải về
Làm theo hướng dẫn sau:
- Mở terminal ở thư mục application
- Chạy lệnh để thêm quyền execute cho file
Appium-linux-1.20.2-4.AppImage
sudo chmod +x Appium-linux-1.20.2-4.AppImage
Sau đó chuột phải vào file và chọn run
Xem thêm tại bài viết: Automating Native app , Web app, Hybrid app with appium phần Inspect UI elements on Native app – Calculator with Appium
Một số lỗi gặp phải trong quá trình run appium desktop và cách fix
- Tải chưa đúng phiên bản Appium 1.20
Bài hướng dẫn đang viết theo cách dùng của phiên bản 1.20. Nên hãy kiểm tra lại và tải lại đúng phiên bản Appium 1.20
2. Port dùng để bật server đang được sử dụng ở tác vụ khác
Port như trong ảnh đang sử dụng là port 4723. Nếu như chạy server báo lỗi như ảnh dưới hãy kiểm tra:
- Bạn có đang chạy server ở một task khác hoặc port đang sử dụng đã dùng ở đâu
- Bạn có thể đổi port sang số khác
3. Error: You must include a platformName capability
Khi gặp lỗi như ảnh hãy thêm phần desired Capabilites như sau
4. Lỗi về setup JAVA_HOME và ANDROID_HOME
Bạn cần phải thêm đường dẫn cho JAVA_HOME và ANDROID_HOME vào file .bashsr
Cách fix:
- Vào home và ấn ctrl h để hiện thị các thư mục ẩn, sau đó mở file .bashrc
- Thêm phần đường dẫn như trong ô đỏ, tuy nhiên về đường dẫn ANDROID_HOME và JAVA_HOME sẽ khác nhau theo từng máy, xem tiếp hướng dẫn về cách lấy đường dẫn
1export ANDROID_HOME=/usr/lib/android-sdk
2export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
3export PATH=$PATH:$ANDROID_HOME/tools/bin
4export PATH=$PATH:$ANDROID_HOME/platform-tools
5export PATH=$PATH:$JAVA_HOME/bin
5. Cách tìm đường dẫn JAVA_HOME và ANDROID_HOME
Cách tìm đường dẫn JAVA_HOME
- Bật terminal và dùng câu lệnh tìm java bằng lệnh
whereis java
Kết quả đã in ra đường dẫn của java đang nằm trong thư mục /usr/lib/jvm/java-11-openjdk-amd64
2. Tiếp đến kiểm tra xem java có được cài đặt trong thư mục này sử dụng lệnh
ls -la /usr/lib/jvm | grep java
Giải thích câu lệnh:
- ls -la : list các file có trong thư mục /usr/lib/jvm theo cột dọc và có cột thông tin về phân quyền
- grep jave: tìm những file có chứa ký tự “java”
→ Câu lệnh dùng để filter những file có chữa ký tự java trong thư mục /usr/lib/jvm
3. Cuối cùng, hãy copy đường dẫn của java vừa tìm được vào file .bashsr đã mở ở trên
Để kiểm tra đường dẫn của biến JAVA_HOME, hãy sử dụng câu lệnh
echo $JAVA_HOME
Làm tương tự để tìm được đường dẫn cho ANDROID_HOME
4. Cách excute file .bashsr
Sau khi đã sửa xong file .bashrs bạn cần reload lại, làm theo hướng dẫn sau
- Tạo file .bash_profile để rỗng
- Mở terminal chạy lệnh
1exec bash 2source ~/bashrc
- Mở terminal chạy lệnh
5. Lỗi chrome update bị conflict phiên bản chromedriver và chrome browser
- Kiểm tra lại chrome của device, chrome của web và chromedriver
- Chrome device: Chrome app → ba chấm header → Help & feedback → ba chấm header → Version info
- Chrome web: ba chấm header → Help → About Google Chrome
- Chromedriver: cmd/terminal → run:
chromedriver --version
- Update tất cả về cùng 1 version: hướng dẫn tại đây , trong 1 vài trường hợp chỉ cần Chromeweb và Chromedriver cùng version