簡體   English   中英

Nativescript appium測試安裝老版本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM