[英]Nativescript appium testing installs old version
我正在使用 nativescript + angular 開發一個移動應用程序,我正在使用 Appium 對其進行測試。 當我運行 appium 端到端測試以下命令時,它會加載我的應用程序的先前版本。
tns build android
npm run e2e -- --runType device.samsung
如果我使用以下命令在模擬器中運行應用程序,我會得到最新的更改
tns run android
在此之后運行我的 e2e,應用程序將恢復為較舊的 state。
我嘗試從模擬器中卸載應用程序,然后運行我的 e2e,但由於沒有安裝應用程序而失敗。 卸載應用程序后,我發現我必須使用“tns run android”命令才能在設備上重新安裝應用程序。
更新:檢查安裝
我按照指南檢查了我的設置
我檢查了我的 appium.capabilities.json 文件
"device.samsung": {
"platformName": "Android",
"platformVersion": "7.0",
"deviceName": "samsung_galaxy_s8",
"avd": "samsung_galaxy_s8",
"lt": 60000,
"newCommandTimeout": 720,
"noReset": true,
"fullReset": false,
"app": ""
},
更新:嘗試關閉 devMode
在運行我的端到端測試時,它說 devMode 已打開,但是當我嘗試將其關閉時,它仍然說它已打開。
npm run e2e -- --devMode=false --runType device.samsung
更新: noReset 似乎是問題所在
問題是我們想使用“noReset”,因為我們正在嘗試測試記住我的自動登錄能力,這需要為應用程序保存信息。 如果這被重置,那么它就不起作用並且無法測試。 如果我們將 'noReset' 設置為 true,那么我們的測試可以工作,但是在運行 e2e 時應用程序不會更新,它也不會使用正在運行的版本。
更新:完整詳細 output
運行端到端測試時的完整詳細 output https://gist.github.com/map7/954170cb330d5d1888
在開始端到端測試時,我可以看到它正在加載我的應用程序 3 次。 前兩次是正確的版本,最后一次運行應用程序是以前的版本,這是運行測試的地方。
嘗試在項目根目錄上運行:
rm -rf node_modules/ package-lock.json platforms/ hooks/
npm install
這將清除所有項目緩存。
最后,重新開始
tns build android
npm run e2e -- --runType device.samsung
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.