中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS自動化測試的那些干貨:關于appium啟動報錯問題的解決辦法

發布時間:2020-08-11 04:03:11 來源:ITPUB博客 閱讀:277 作者:博為峰網校 欄目:網絡管理

我們在進行iOS Appium自動化測試的時候,會遇到環境配置、兼容使用問題,這里做個總結,以避免后續踩著這些坑。

iOS自動化測試的那些干貨:關于appium啟動報錯問題的解決辦法

問題1. 提示no module “appium”

解決:第1步,在終端輸入命令

cd /usr/local/bin

pip3 install Appium-Python-Client

因為appium默認裝在了python2上

第2步,新建項目時要勾選

Inherit global site-packages和Make available to all projects。

問題2. 獲取udid的兩種方法

一種方法是iOS手機連接iTunes,查看摘要;另一種方法是打開Xcode,選擇add simulator,可以查看到udid。

問題3. 提示AssertionError: Message: An unknown server-side error occurred while processing the command.

Original error: Unknown device or simulator UDID: '***'

解決:brew install libimobiledevice –HEAD

如果在執行此命令時提示 /usr/local/share/man/man5 /usr/local/share/man/man7,則需要修改所有者權限,那么需要按如下命令操作:

sudo chown –R cy /usr/local/share/man/man5

sudo chown –R cy /usr/local/share/man/man7

問題4. 修改環境變量,把終端弄掛了;

解決:打開終端,選擇Shell->新建命令,輸入mkdir disabled_shell_files,運行命令;打開一個新的終端。重復剛才的步驟,然后在彈出的對話框里面輸入mv .profile .bash_history .bash_profile .bashrc .inputrc disabled_shell_files,點擊運行。再打開一個新的終端,你會看到終端恢復正常了。

問題5. brew update時連接不上github

解決:修改etc/hosts,尾部添加github的ip地址,如192.30.255.112;

可以在http://tool.chinaz.com/dns?type=1&host=github.com&ip= 查詢ip地址

問題6. 如何查看app的bundle id

解決: 步驟1.真機連接電腦;步驟2.Xcode->Product->Destination->Add Additional Simulators…,在Devices菜單欄可以看到手機上所有的app bundle id。

問題7. 安裝appium-doctor報錯

npm install -g appium -doctor

internal/modules/cjs/loader.js:611

throw err;

^

Error: Cannot find module 'semver'

at Function.Module._resolveFilename (internal/modules/cjs/loader.js:609:15)

at Function.Module._load (internal/modules/cjs/loader.js:535:25)

at Module.require (internal/modules/cjs/loader.js:663:17)

at require (internal/modules/cjs/helpers.js:20:18)

at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/unsupported.js:2:14)

at Module._compile (internal/modules/cjs/loader.js:734:30)

at Object.Module._extensions..js (internal/modules/cjs/loader.js:745:10)

at Module.load (internal/modules/cjs/loader.js:626:32)

at tryModuleLoad (internal/modules/cjs/loader.js:566:12)

at Function.Module._load (internal/modules/cjs/loader.js:558:3)

解決:

brew uninstall node.js

把/usr/local/lib下的node和node_modules文件都刪除了

再執行以下代碼

sudo rm /usr/local/bin/npm

sudo rm /usr/local/share/man/man1/node.1

sudo rm /usr/local/lib/dtrace/node.d

sudo rm -rf ~/.npm

sudo rm -rf ~/.node-gyp

sudo rm /opt/local/bin/node

sudo rm /opt/local/include/node

sudo rm -rf /opt/local/lib/node_modules

問題8. 啟動app,Pycharm運行時提示找不到HTMLtestrunner模塊,需要在網上下載py文件,并放到python的site-packages文件下

問題9. Pycharm里from appium時報錯,提示找不到appium模塊

解決:確保已安裝appium模塊,pip3 install appium-python-client,然后Pycharm->new project,再在Pycharm->preferences…,project Interpreter選項中,點擊+,搜索appium-python-client,下載package;

這時在pycharm里再輸入from appium就能自動匹配,不報錯了。

問題10. 提示Error running 'xxx': Cannot run program "/Users/xx/PycharmProjects/xxx/venv/bin/python" (in directory "/Users/xx/xxtest/xxx/test_case"): error=2, No such file or directory

解決:

1)只創建project,在prefrence for new project菜單,找到Project Interpreter選項,在地址目錄中會提示地址無效,這時點擊Add添加按鈕,重新定位到python的路徑

2)設置之后,再創建項目文件,iostest—xxx—test_case和test_report,在test_case下創建py文件,再執行就不報錯了。

問題11.  ModuleNotFoundError: No module named 'StringIO'

解決:在HTMLTestRunner.py 中修改import StringIO為from io import StringIO,將python2的寫法改為python3的。

問題12.Appium昨天能運行,今天不能啟動

解決:最終發現下圖所示的sever選錯了,正確應為如下所選中的選項

iOS自動化測試的那些干貨:關于appium啟動報錯問題的解決辦法

問題13. ios與android不同,定位元素時候,name方法應該為

driver.find_element_by_accessibility_id(‘ ’)

問題14.  運行報錯selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not create simulator with name 'appiumTest-iPad', device type id 'iPad' and runtime id '12.1'. Reason: 'simct…

解決:需要把在appium desk上的desired_caps中的bundleid添加到py文件里。

問題15. Pycharm上run時報錯,提示python interpreter的路徑is not empty

解決:在新建new project的窗口中,除了填寫項目名稱之外,千萬別忘記打開第二個選項的右三角,“Project Interpreter:New Virtualenv environment”來設置運行時的編譯環境;

如果在創建項目-腳本之后再去設置,會一直報錯。

問題16. HTMLTestRunner報錯

HTMLTestRunner 是 Python 標準庫中unittest 模塊的一個擴展。使用它可以生成易于使用的 HTML 測試報告。

首先下載HTMLTestRunner.py文件,然后在Mac終端執行命令python3,接著輸入以下命令:

import sys

sys.path

得到下圖所示的路徑

iOS自動化測試的那些干貨:關于appium啟動報錯問題的解決辦法

最后,把下載的文件復制到第2步高亮顯示的路徑下,那么pycharm中就可以import HTMLTestRunner。

由于python2和python3的寫法不同,如果上述還會報錯,則需要修改HTMLTestRunner.py文件。

第1步,HTMLTestRunner.py文件中按下面進行修改:

1)python3中模塊io取代了StringIO

94行 import StringIO

改為 import io

2)所有和StringIO相關的都要更改

540行 self.outputBuffer = StringIO.StringIO()

改為 self.outputBuffer = io.StringIO()

3)python3沒有has_key()方法,所以要更改如下代碼

if not rmap.has_key(cls)

改為 if not cls in rmap

4)python3的decode和python2不同,更改

769行 uo = o.decode(‘latin-1’)

改為 uo = e

779行 ue = e.decode(‘latin-1’)

改為 ue = e

5)python3的print()方法和python2也有區別,更改

634行 print>>sys.stderr,’\nTime Elapsed=%s’ %(self.stopTime-self.startTime)

改為 print(sys.stderr,’\nTime Elapsed=%s’ %(self.stopTime-self.startTime))

6)再次運行HTMLTestRunner.py文件就OK了;

第2步,suite.py文件中修改:

由于報錯中提及from . import case和from . import util,將這兩行所在的代碼注釋掉,再次運行suite.py文件也OK了

第3步,重新運行testcase.py文件,一份簡潔明了的HTML形式的測試報告結果就可見了!

iOS自動化測試的那些干貨:關于appium啟動報錯問題的解決辦法

加官方微信:sy51testing 回復關鍵詞“學習”領取限量軟件測試學習資料哦~~

iOS自動化測試的那些干貨:關于appium啟動報錯問題的解決辦法

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀宁县| 信阳市| 察隅县| 饶阳县| 大新县| 云南省| 花垣县| 郑州市| 灯塔市| 嵊州市| 栾城县| 三穗县| 乌恰县| 东至县| 马龙县| 祁连县| 苏尼特右旗| 新乡市| 岳西县| 开平市| 连平县| 京山县| 原阳县| 新泰市| 商河县| 上栗县| 桐乡市| 昔阳县| 桃园县| 平利县| 德兴市| 锦州市| 堆龙德庆县| 炉霍县| 乡宁县| 长白| 屏南县| 卓资县| 麻城市| 通道| 喀喇沁旗|