运行Appium+Python Clinet + 夜神模拟器
- 1啟動夜神模擬器
- 1解決adb version不兼容問題
- 2啟動夜神模擬器設備
- 3安裝測試app
- 2運行與使用Appium
- 3編寫Appium自動化測試腳本
- 1腳本講解
- 2Appium獲取元素的方式
- 3獲取apk包名和launcherActivity
- 4獲取apk元素
1、啟動夜神模擬器
1、解決adb version不兼容問題
遇到問題:
目前運行服務器端的adb版本(也就是夜神模擬器的adb版本)比客戶端的版本(也就是SDK目錄下的adb版本)低。
報錯信息如下:
adb server version(31) doesn’t match this client (36);killing…
解決辦法:
a、關掉夜神模擬器。同時去任務管理器里看下,adb.exe以及nox_adb.exe這2個進程有沒有在運行?有的話就結束掉。
b、找到SDK的目錄和夜神模擬器的目錄,將SDK目錄(C:\Program Files (x86)\Android\android-sdk\platform-tools)下的adb.exe文件,復制到夜神模擬器的目錄(C:\Program Files (x86)\Nox\bin)下,將夜神模擬器目錄下原本的adb.exe和nox_adb.exe修改文件名為adb_bak.exe和nox_adb_bak.exe,將從SDK目錄復制過來的adb.exe放在夜神目錄下,同時復制一份改名為nox_adb.exe。
2、啟動夜神模擬器設備
打開cmd命令行,進入夜神安裝目錄,執行如下命令:
cd D:\Program Files (x86)\nox\bin nox_adb.exe connect 127.0.0.1:62001在cmd命令行中,輸入:adb devices查看
存在:127.0.0.1:62001 device
即為成功!
3、安裝測試app
將測試app.apk安裝包拖到夜神模擬器即可安裝測試app。
2、運行與使用Appium
安裝完成桌面會生成一個紫色的appium 圖標,雙擊打開。
默認顯示監控的 host 和 port ,這和 Appium-Server中是一致的。點擊 “Start Server V 1.7.1” 按鈕啟動服務。
現在,編寫 Appium 自動化測試腳本,可以通過Appium-desktop 來運行測試了。
3、編寫Appium自動化測試腳本
1、腳本講解
from appium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import timedesired_caps = {} desired_caps['platformName'] = "Android" # 聲明是ios還是Android系統 desired_caps['platformVersion'] = '4.4.2' # Android內核版本號,可以在夜神模擬器設置中查看 desired_caps['deviceName'] = '127.0.0.1:62001' # 連接的設備名稱 desired_caps['appPackage'] = 'com.taobao.taobao' # apk的包名 desired_caps['appActivity'] = 'com.taobao.tao.welcome.Welcome' # apk的launcherActivitydriver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) # 建立 sessiontime.sleep(5)driver.find_element_by_id("************").click() # 點擊元素driver.find_element_by_xpath("************").click() # 點擊元素driver.find_element_by_xpath("************").send_keys(u'123456') # 發送鍵值driver.quit() # 退出 session2、Appium獲取元素的方式
通過xpyth定位:find_element_by_xpath(“//android.widget.TextView[10]”) xpath下標從1開始,使用完整的classname
通過text name:find_element_by_name(name對應uiautomator掃描后text的內容)
通過id:find_element_by_id(id對應resource-id)
通過classname定位:find_element_by_class_name(class_name對應class)
通過accessibility id:find_element_by_accessibility_id(accessibility_id對應content-desc)
定位到某個文本框,并輸入內容:
driver.find_element_by_id(“xxxxx”) .send_keys(“123456”)
滑動屏幕:
獲取屏幕尺寸 width=self.driver.get_window_size()[‘width’] height=self.driver.get_window_size()[‘height’]
滑動屏幕 driver.swipe(width*9/10, height*1/2, width*1/10, height*1/2, 1000)
3、獲取apk包名和launcherActivity
這里可以看到apk包名為:com.taobao.taobao
可以得到launcherActivity為:com.taobao.tao.welcome.Welcome
4、獲取apk元素
依次如圖所示:
圖一:
圖二:
圖三:
總結
以上是生活随笔為你收集整理的运行Appium+Python Clinet + 夜神模拟器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: surface系列安装linux解决触屏
- 下一篇: [ oracle ] clinet安装与