1. 程式人生 > >關於Appium做自動化測試手機自帶計算器例項時出現的A new session could not be created.問題 shell “ps ‘uiautomator’

關於Appium做自動化測試手機自帶計算器例項時出現的A new session could not be created.問題 shell “ps ‘uiautomator’

這幾天想看一下關於appium自動化測試,但是按照教程做了一下之後,發現自己的根本執行不起來,經過反覆排查了自己的開關項、環境配置等問題後,網上查閱了大量的資料,其中中文和外文的都有,但都沒有相同的問題(原因可能是複製的錯誤碼太長,搜尋的時候重要的資訊沒有查到),最後終於通過搜尋幾個關鍵詞的方式,發現了點眉目,最終解決了。自己踩過的坑,特意記錄一下。

appium+java實現自動化測試例項,參考的是https://www.jianshu.com/p/84aa9383f8fd這篇文章,但是下面評論中提到了我的那個問題,他並沒有給出確切的解決方案。通過他的教程的步驟一路做下來(把資料都改成自己手機的資料),會丟擲這個的錯誤:

org.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Command failed: C:\Windows\system32\cmd.exe /s /c "D:\android\android-sdk-windows\platform-tools\adb.exe -s 30836ece shell "ps 'uiautomator'""
ps: uiautomator
) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 13.05 seconds
我查閱了N多資料,最終找了一篇跟我的有點類似的,他的提示 bad pid 'uiautomator',他的這個提示給了我靈感,是不是我搜索的方式不對,我重新搜尋了ps 'uiautomator'這幾個關鍵字,又出來很多資訊,我看了一下,都說是android7.0真機appium檔案的問題,抱著試試的態度(為什麼是試試,因為我的真機是android8.0的,但是看提示差不多),我點開了第一個連結嘗試了一下,結果真的成功了,附上地址:https://blog.csdn.net/pjl6523853/article/details/72886048,標題就是

我用了裡面說的第一種方法,沒有生效(當然作者第一種方法也是失敗了),用了第二種方法解決了問題,不報錯了,成功了,問題解決了。如果是跟我問題一樣的,各位可以去試一下。如果不是一樣的,但是報A new session could not be created.問題,我這邊也有搜過的地址https://blog.csdn.net/luhuiluo/article/details/51120198,這個裡面有很多不同的錯誤的解決方法(但我未試過,不知是否管用,大家自行嘗試),希望能給到看官們幫助。

這是第一次用appium+java做自動化測試的第一步,遇到問題是在所難免的,把問題積累起來,以後遇到的問題就會越來越少。

相信那句話:既然選擇了遠方,便只顧風雨兼程。

另附自己的ps 'uiautomator'第二種方法的一點細節,appium裡的adb.js檔案最好用notepad++軟體開啟,用快捷鍵ctrl+f查到關鍵字定位;然後就是.js的單行註釋用//,多行註釋用/*程式碼*/,我用的就是多行註釋,希望給大家幫助,謝謝微笑