Android測(cè)試中Appium的一些錯(cuò)誤解決技巧
問題
1. error: Failed to start an Appium session, err was: Error: Requested a new session but one was in progress
之前的會(huì)話沒有關(guān)閉,然后你又運(yùn)行了測(cè)試實(shí)例,也沒有設(shè)置覆蓋.
解決:
1. 重新停止appium服務(wù),開啟Appium服務(wù)
2. 在Genarel Setting那里設(shè)置覆蓋Session,重啟Appium
測(cè)試結(jié)束在AfterClass加driver.quit()
2. error: Failed to start an Appium session, err was: Error: Command failed: C:\Windows\system32\cmd.exe /s /c “D:\android-sdk-windows\platform-tools\adb.exe -s adb server version (32) doesn't match this client (36); killing…
- wait-for-device”
- error: could not install smartsocket listener: cannot bind to 127.0.0.1:5037:
沒有鏈接上手機(jī)或者模擬器,請(qǐng)確認(rèn)已經(jīng)連接成功,重新鏈接
3. error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device.
手機(jī)系統(tǒng)低于4.2,appium不支持4.2.2以下的系統(tǒng),請(qǐng)換一個(gè)手機(jī)或者模擬器來測(cè)試。
4. Error: Permission to start activity denied.
**activity在清單文件里面沒添加android:exported=”true”的話,你不能直接打開對(duì)應(yīng)的activity,需要從啟動(dòng)頁activity打開。
exported屬性就是設(shè)置是否允許activity被其它程序調(diào)用**
5. error: Failed to start an Appium session, err was: Error: Activity used to start app doesn't exist or cannot ve launched! Make usre it exists and is launchable activity
要打開的activity不存在,activity路徑錯(cuò)誤,改為完整正確的activity路徑
6. error: Failed to start an Appium session, err was: Error: ‘java - version' failed. Error: Command failed: C:\Windows\system32\cmd.exe /s /c “java -version”
Java版本錯(cuò)誤,請(qǐng)安裝最新的版本。
7.> info: [debug] Error: Command failed: C:\Windows\system32\cmd.exe /s /c “D:\android-sdk-windows\platform-tools\adb.exe -s 8806a0b0 shell “echo ‘ready‘“error: unknown host service
鏈接手機(jī)失敗,重新鏈接手機(jī)即可,我就是重新拔插了一下usb
Error: Command failed: C:\Windows\system32\cmd.exe /s /c “D:\android-sdk-windows\platform-tools\adb.exe -s 8806a0b0 shell “echo ‘ping'”“
- error: unknown host service
adb被突然占用導(dǎo)致,例如你在運(yùn)行用例的時(shí)候運(yùn)行了模擬器。
8. UIAutomatorViewer提示: Unable to connect to adb. Check if adb is installed correctly
解決,sdk升級(jí)到了25產(chǎn)生的問題。
解決方法:
- 將adb.exe 復(fù)制一份到uiautomatorviewer.bat 目錄下
- 修改uiautomatorviewer.bat文件最后一行(改binddir=%prog_dir%為自己的platform-tools本地路徑)
技巧
1. 每次測(cè)試都重新安裝app
為capabilities色設(shè)置noReset為true
capabilities.setCapability(“noReset”, true);
2. 中文亂碼
這都是編碼問題
1.方法1:
Android Studio修改文件編碼的方法,最底部的UTf-8,點(diǎn)擊選GBK就可以了,reload文件。(ps: 先把文件內(nèi)容全選復(fù)制一下再轉(zhuǎn)換編碼,再粘貼,不然文件內(nèi)容就變亂碼了)
2.方法2:
用的是原來的UTF-8編碼,然后在測(cè)試module的build.gradle里面添加三行代碼
tasks.withType(JavaCompile){ options.encoding = 'UTF-8' }
3. 清除編輯框EditText內(nèi)容
這個(gè)問題好像是看手機(jī)系統(tǒng)的,我之前的手機(jī)就會(huì)出現(xiàn)sendKeys的時(shí)候沒有全選去掉本來的內(nèi)容,現(xiàn)在都會(huì)自動(dòng)全選覆蓋了,這個(gè)也不算問題了。
/** * 逐字刪除編輯框中的文字 * @param element 文本框架控件 */ public void clearText(AndroidElement element){ String className = element.getClass().getSimpleName(); if (className.equals("EditText")){ String text = element.getText(); //跳到最后 driver.pressKeyCode(KEYCODE_MOVE_END); for (int i = 0; i < text.length(); i ++){ //循環(huán)后退刪除 driver.pressKeyCode(BACKSPACE); } }else { print("不是文本輸入框架,無法刪除文字"); } }
4. 點(diǎn)擊輸入法鍵盤的回車搜索
方法1: 切換輸入法
利用adb命令先切換為自己的輸入法,按了搜索再切換為appium的輸入法
查看當(dāng)前手機(jī)的輸入法
cmd執(zhí)行下面的的代碼
adb shell ime list -s
可以看到類似下面的結(jié)果,
C:\Users\LITP>adb shell ime list -s com.baidu.input_mi/.ImeService com.sohu.inputmethod.sogou.xiaomi/.SogouIME io.appium.android.ime/.UnicodeIME C:\Users\LITP>
執(zhí)行adb命令
先寫好一個(gè)執(zhí)行cmd的方法
/** * 執(zhí)行adb命令 * @param s 要執(zhí)行的命令 */ private void excuteAdbShell(String s) { Runtime runtime=Runtime.getRuntime(); try{ runtime.exec(s); }catch(Exception e){ print("執(zhí)行命令:"+s+"出錯(cuò)"); } }
在需要搜索的時(shí)候執(zhí)行下面的代碼,切換的輸入法用自己查看列表的輸入法內(nèi)容,我這里是搜狗輸入法
//使用adb shell 切換輸入法-更改為搜狗拼音,這個(gè)看你本來用的什么輸入法 excuteAdbShell("adb shell ime set com.sohu.inputmethod.sogou.xiaomi/.SogouIME"); //再次點(diǎn)擊輸入框,調(diào)取鍵盤,軟鍵盤被成功調(diào)出 clickView(page.getSearch()); //點(diǎn)擊右下角的搜索,即ENTER鍵 pressKeyCode(AndroidKeyCode.ENTER); //再次切回 輸入法鍵盤為Appium unicodeKeyboard excuteAdbShell("adb shell ime set io.appium.android.ime/.UnicodeIME");
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- 詳解appium+python 啟動(dòng)一個(gè)app步驟
- Python腳本在Appium庫上對(duì)移動(dòng)應(yīng)用實(shí)現(xiàn)自動(dòng)化測(cè)試
- 詳解Android單元測(cè)試最佳實(shí)踐
- android開機(jī)自啟動(dòng)APP及使用adb命令測(cè)試方法
- Android利用Espresso進(jìn)行UI自動(dòng)化測(cè)試的方法詳解
- 在Android打包中區(qū)分測(cè)試和正式環(huán)境淺析
- Android單元測(cè)試之對(duì)Activity的測(cè)試示例
- 淺談Android單元測(cè)試的作用以及簡(jiǎn)單示例
- Android和iOS 測(cè)試五個(gè)最好的開源自動(dòng)化工具
- Android 中構(gòu)建快速可靠的 UI 測(cè)試
- 簡(jiǎn)單談?wù)刟ndroid studio 的單元測(cè)試
- Android Monkey壓力測(cè)試詳細(xì)介紹
- Ubuntu中為Android系統(tǒng)上實(shí)現(xiàn)內(nèi)置C可執(zhí)行程序測(cè)試Linux內(nèi)核驅(qū)動(dòng)程序
- Android App開發(fā)的自動(dòng)化測(cè)試框架UI Automator使用教程
- Android自動(dòng)測(cè)試工具M(jìn)onkey的實(shí)現(xiàn)方法
相關(guān)文章
android實(shí)現(xiàn)注冊(cè)登錄程序
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)注冊(cè)登錄程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04Android開發(fā)使用自定義view實(shí)現(xiàn)ListView下拉的視差特效功能
這篇文章主要介紹了Android開發(fā)使用自定義view實(shí)現(xiàn)ListView下拉的視差特效功能,結(jié)合實(shí)例形式詳細(xì)分析了Android重寫ListView控件實(shí)現(xiàn)ListView下拉視差效果的步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-10-10Android仿微信圖片上傳帶加號(hào)且超過最大數(shù)隱藏功能
這篇文章給大家分享android仿照微信空間上傳圖片,顯示圖片數(shù)量以及超過最大,上傳按鈕隱藏功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-03-03Android中方法數(shù)超限問題與啟動(dòng)優(yōu)化詳解
這篇文章主要給大家介紹了Android中方法數(shù)超限問題與啟動(dòng)優(yōu)化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11Android Activity與Fragment之間的跳轉(zhuǎn)實(shí)例詳解
這篇文章主要介紹了Android Activity與Fragment之間的跳轉(zhuǎn)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-02-02Android開發(fā)使用strings.xml多語言翻譯解決方案
這篇文章主要為大家介紹了Android開發(fā)使用strings.xml多語言翻譯解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Android調(diào)用手機(jī)攝像頭拍照和錄音功能
這篇文章主要為大家詳細(xì)介紹了Android調(diào)用手機(jī)攝像頭拍照和錄音功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Android實(shí)現(xiàn)GridView中的item自由拖動(dòng)效果
在前一個(gè)項(xiàng)目中,實(shí)現(xiàn)了一個(gè)功能是gridview中的item自由拖到效果,實(shí)現(xiàn)思路很簡(jiǎn)單,主要工作就是交換節(jié)點(diǎn),以及拖動(dòng)時(shí)的移動(dòng)效果,下面小編給大家分享具體實(shí)現(xiàn)過程,對(duì)gridview實(shí)現(xiàn)拖拽效果感興趣的朋友一起看看吧2016-11-11