Android appium + python 自動化測試環境搭建
一、準備
1、 java jdk配置——> JAVA_HOME配置,最終終端中 任意位置可執行 java 命令
2、 Android sdk 環境配置——>ANDROID_HOME配置,最終 終端中任意位置 可執行 adb 命令
3、 安裝配置 Node.js ——> 包括node 和npm的安裝和配置 ,npm版本問題 需要升級到6.0+
二、 appium 安裝
2.1 appium sever 安裝
2.1.1 命令方式安裝安裝
方法一(國外映象):npm install -g appium
方法二(國內映象):npm install -g appium --registry=https://registry.npm.taobao.org
解除安裝方法:npm uninstall appium -g
2.1.2 可執行檔案方式安裝
mac:
appium.dmg
windows:
appium.exe
linux:
appium.appimage
下載地址:
2.1.3 使用appium-doctor 檢測appium是否安裝成功
npm install appium-doctor -g
使用appium-doctor 命令檢測appium是否安裝成功
如果安裝正常將如下所示:
xxxxxdeiMac:~ xxxxxxxx$ appium-doctor
info AppiumDoctor Appium Doctor v.1.4.3
info AppiumDoctor ### Diagnostic starting ### info AppiumDoctor ✔ The Node.js binary was found at: /usr/local/bin/node
info AppiumDoctor ✔ Node version is 8.11.2
info AppiumDoctor ✔ Xcode is installed at: /Applications/Xcode.app/Contents/Developer
info AppiumDoctor ✔ Xcode Command Line Tools are installed.
info AppiumDoctor ✔ DevToolsSecurity is enabled.
info AppiumDoctor ✔ The Authorization DB is set up properly.
info AppiumDoctor ✔ Carthage was found at: /usr/local/bin/carthage
info AppiumDoctor ✔ HOME is set to: /Users/tanzhiwu
info AppiumDoctor ✔ ANDROID_HOME is set to: /Users/tanzhiwu/Downloads/android-sdk-macosx
info AppiumDoctor ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
info AppiumDoctor ✔ adb exists at: /Users/tanzhiwu/Downloads/android-sdk-macosx/platform-tools/adb
info AppiumDoctor ✔ android exists at: /Users/tanzhiwu/Downloads/android-sdk-macosx/tools/android
info AppiumDoctor ✔ emulator exists at: /Users/tanzhiwu/Downloads/android-sdk-macosx/tools/emulator
info AppiumDoctor ✔ Bin directory of $JAVA_HOME is set info AppiumDoctor ### Diagnostic completed, no fix needed. ### info AppiumDoctor
info AppiumDoctor Everything looks good, bye!
info AppiumDoctor
2.2 appium client 安裝
此處選擇使用appium-pyrhon-client 實現跨平臺的測試,可以根據需求選擇配置安裝其他appium-client
使用pip命令安裝(也可以從github下載原始碼使用原始碼方式安裝)
pip install Appium-Python-Client
三、示例程式碼 測試
可使用appium官方提供的示例程式碼進行測試
appium-github-sample-code github連結
cd 到/sample-code/sample-code/examples/python/目錄下
給.py檔案新增執行許可權
chmod +x android_simple.py
將.py 檔案中的手機名 版本號等資訊按實際使用手機的資訊進行相應更改
執行Android示例:
./android_simple.py
異常解決:
執行./android_simple.py 時報錯:
import-im6.q16: not authorized `os' @ error/constitute.c/WriteImage/1037.
from: can't read /var/mail/time
import-im6.q16: not authorized `unittest' @ error/constitute.c/WriteImage/1037.
from: can't read /var/mail/appium
./android_simple.py: 行 9: 未預期的符號 `(' 附近有語法錯誤
./android_simple.py: 行 9: `PATH = lambda p: os.path.abspath('
解決方式:
.py檔案頂部新增
#!/usr/bin/env python
即,新增前:
import os
from time import sleep
import unittest
from appium import webdriver
新增後:
#!/usr/bin/env python
import os
from time import sleep
import unittest
from appium import webdriver