Automation Testing Android With Robotframework On Mac OS using Appiumlibrary

Xin chào các bạn!
Hôm nay chúng ta cùng nhau tìm hiểu và cấu hình để automation test cho android  với robotframework sử dụng thư viện appiumlibrary
Note: bài viết này mình dùng mac os để cấu hình và chạy.
các thứ cần chuẩn bị như sau:

  1. Cài đặt brew
  2. Cài JDK
  3. Cài Android SDK
  4. Cài Robot framework
  5. Cài Appium
  6. Cài Android Emulator
  7. Editor or IDE code Robot Framework


Bước 1: Cài Brew tại trang chủ
https://brew.sh/
Brew là gì? hiểu ngắn gọn nó là trình quản lý các gói phần mềm trên mac os, có thể cài các phần mềm được hỗ trợ = 1 dòng lệnh mà ko cần phải lên tìm, down và cài phần mềm đó.
Truy cập trang chủ, copy và paste dòng đó vào terminal để cài đặt brew.

Bước 2: Cài JDK bằng terminal
chạy lệnh sau để cài JDK

brew cask install java

Bước 3: Cài android SDK tại Trang chủ https://developer.android.com/studio/ 
Sau khi cài xong, cần vào Config để lấy đường dẫn của android SDK


Tiếp đó thì cần set path cho android SDK và java như sau:
3.1: chạy lệnh sau = terminal


sudo open -a TextEdit  ~/.bash_profile

nhấn password của máy và enter để mở bash_profile bằng textedit trên mac os

thêm các dòng sau vào textedit :
chú ý: xxx là tên user của máy bạn.

export ANDROID_HOME=/Users/xxx/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH



export JAVA_HOME="$(/usr/libexec/java_home)"
export PATH=$PATH:$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin

3.2: lưu text edit lại, sau đó chạy lệnh này để update path cho systems

source ~/.bash_profile

Bước 4: Cài robotframework và appiumlibrary
chạy các lệnh sau trên terminal để cài đặt
Note: các keyword và cách dùng của appiumlibrary http://serhatbolsu.github.io/robotframework-appiumlibrary/AppiumLibrary.html

pip install robotframework

pip install robotframework-appiumlibrary

pip install six


Bước 5: Cài Appium.
Các bạn xem lại bài viết tại đây để cài appium nhé



Bước 6: Cài máy ảo android
Các bạn có thể dùng máy ảo của android, nhưng mình thấy khá chậm, mình khuyên dùng genymotion nhé
Note: nhớ tạo account và login rồi tải về


Bước 7:  Editor để code robotframework
Mình khuyến khích dùng atom, vì gợi ý keyword khá ok

7.1: down và cài đặt Atom tại trang chủ  https://atom.io/
7.2: sau khi cài xong, thì chạy lần lượt các lệnh sau trên terminal


apm install language-robot-framework
apm install autocomplete-robot-framework
apm install hyperclick
apm install hyperclick-robot-framework


Bước 8: First testcase for Android using RobotFramework
Chúng ta cùng làm 1 testcase đơn giản cho caculator của android 8 như sau:



*** Settings ***
Library           AppiumLibrary

*** Variables ***
${REMOTE_URL}     http://127.0.0.1:4723/wd/hub    # URL to appium server
${Version Android}    8.0
${name_device}    Android Emulator
*** Keywords ***
Open App Calulator
    Open Application     ${REMOTE_URL}     automationName=UiAutomator2     platformName=Android    platformVersion=${Version Android}    deviceName=${name_device}    appPackage=com.android.calculator2          appActivity=com.android.calculator2.Calculator      noReset=true

*** Test Cases ***
TC1
    Open App Calulator
    Click Element    id=com.android.calculator2:id/digit_9
    Click Element    id=com.android.calculator2:id/op_add
    Click Element    id=com.android.calculator2:id/digit_6
    ${result}=    Get Text    id=com.android.calculator2:id/result
    Should Be Equal As Integers    ${result}    15

Và đây là kết quả sau khi chạy TC



Note:
  1. Trước khi chạy testcase thì cần chạy Appium server + Android Emulator
  2. Trên Mac thì chạy TC của Robotframework bằng terminal như sau:
python -m robot -d a demo.robot

1 comment: