Appium使用のhelloworld
Demo 官網(wǎng)
最近突發(fā)興趣,想了解點測試方面的內(nèi)容,同時自己又屬于比較懶的,所以期望可以做成自動化測試,寫個腳本自動運行,在版本迭代后做回歸測試會比較方便,另外,我期望測試框架可以根據(jù)id等屬性來定位控件,而不是如monkeyRunner那樣通過坐標來定位,以便于測試不同機型,找了幾個框架后最后決定先試試appium, 因此就有了這篇文章;
基于: 系統(tǒng): win10 64 Appium: AppiumForWindows_1_4_16_1 腳本: python 3.5
優(yōu)點(摘自<騰訊Android自動化測試實踐>):
缺點
就是運行有點慢啊... 好像沒看到直接截圖對比功能,不過可以考慮使用現(xiàn)成的monkeyRunner的,沒測試過...
安裝:
網(wǎng)上文章應(yīng)該蠻多的,據(jù)說安裝比較復(fù)雜,我因為之前開發(fā)的時候安裝過androidSDK,python,node,framework4.5等等,所以一路都還挺順利,安裝過程:
腳本編寫
控件屬性/操作方法:
- text 控件顯示的文本信息,如 edt.text,有點類似于屬性獲取
- click() 模擬控件點擊操作,如btn.click
- clear() 清除控件的文本
- is_enabled() 判斷控件是否可用
- is_selected() 控件是否被選中
- is_displayed() 控件是否顯示
- get_attribute(self,name) 指定屬性名稱,返回屬性值,若屬性名不存在,則返回none
- send_keys(self,*value) 模擬輸入文本到控件
系統(tǒng)API
- current_activity 獲取當(dāng)前activity信息,可以直接打印,如 print(driver.current_activity)
- current_context \ context 我在真機上測試的時候都是返回 NATIVE_APP
- install_app(self,app_path) 安裝應(yīng)用app
- is_app_installed(self,bundle_id) 在android中傳入包名即可
- get_screenshot_as_file(self,filename) 傳入要保存的路徑和文件名,可以使用相對路徑
- save_screenshot(self,filename) 跟上一條的功能類似
- network_connection 查看當(dāng)前網(wǎng)絡(luò)信息,整數(shù)值, ==!測試出來都是1
碰到的問題:
1. Could not extract PIDs from ps output...
selenium.common.exceptions.WebDriverException: Message: A new session could not be created. (Original error: Could not extract PIDs from ps output. PIDS: [], Procs: ["bad pid 'uiautomator'"]) 復(fù)制代碼修改 Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js 文件
this.shell("ps '" + name + "'", function (err, stdout) {...var procs = [];var outlines = stdout.split("\n");outlines.shift() //添加這行... 復(fù)制代碼保存后,重新運行appium即可
2. 500 Internal Privoxy Error
好吧,這個是我電腦上開著 shadowsocks,雖然是pac模式,但是appium就是會報錯,關(guān)閉就好了
3. 使用 send_keys() 時會觸發(fā)輸入法,導(dǎo)致輸入異常,中文無法輸入
Python Appium實現(xiàn)中文輸入分享 解決方法: 在 desire caps 參數(shù)中添加如下兩個字段:
desire_caps = {} ... desire_caps['unicodeKeyboard'] = True # 使用unicodeKeyboard的編碼方式來發(fā)送字符串 desire_caps['resetKeyboard'] = True # 將鍵盤給隱藏起來 復(fù)制代碼當(dāng)然,這樣測試結(jié)束后,發(fā)現(xiàn)自己輸入法調(diào)用不出來,可以到系統(tǒng)設(shè)置中切換一些輸入法(此時,默認調(diào)用的是Appium Android Input manager...)
轉(zhuǎn)載于:https://juejin.im/post/5a433b29f265da431440f9af
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Appium使用のhelloworld的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL入门-字符集
- 下一篇: 工作总结 Rezor 里面的一些小知识-