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 在此之后应用程序恢复到旧状态。
我试过从模拟器中卸载应用程序,然后 运行ing 我的 e2e 但是失败了,因为没有安装应用程序。卸载该应用程序后,我发现我必须使用 'tns run android' 命令才能在设备上重新安装该应用程序。
更新:正在检查安装
我已经按照指南检查了我的设置
- https://appium.io/docs/en/about-appium/getting-started/index.html
- https://docs.nativescript.org/angular/tooling/testing/end-to-end-testing/overview
我检查了我的 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 那么我们的测试工作但应用程序不会在 运行ning e2e 时更新它也不使用 运行ning 版本。
更新:完整的详细输出
运行宁端到端测试时的完整详细输出
https://gist.github.com/map7/9de70cb330d8864c58787a251d5ea128
开始端到端测试时,我可以看到它加载了我的应用程序 3 次。前两次是正确的版本,最后一次是 运行 应用程序,它是以前的版本,这是 运行 测试的地方。
尝试在项目根目录上运行:
rm -rf node_modules/ package-lock.json platforms/ hooks/
npm install
这将清除所有项目缓存。
终于,重新开始
tns build android
npm run e2e -- --runType device.samsung
我正在使用 nativescript + angular 开发移动应用程序,并且正在使用 Appium 对其进行测试。当我 运行 appium 端到端测试以下命令时,它会加载我的应用程序的先前版本。
tns build android
npm run e2e -- --runType device.samsung
如果我运行模拟器中的应用程序使用以下命令,我会得到最新的更改
tns run android
运行 我的 e2e 在此之后应用程序恢复到旧状态。
我试过从模拟器中卸载应用程序,然后 运行ing 我的 e2e 但是失败了,因为没有安装应用程序。卸载该应用程序后,我发现我必须使用 'tns run android' 命令才能在设备上重新安装该应用程序。
更新:正在检查安装
我已经按照指南检查了我的设置
- https://appium.io/docs/en/about-appium/getting-started/index.html
- https://docs.nativescript.org/angular/tooling/testing/end-to-end-testing/overview
我检查了我的 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 那么我们的测试工作但应用程序不会在 运行ning e2e 时更新它也不使用 运行ning 版本。
更新:完整的详细输出
运行宁端到端测试时的完整详细输出 https://gist.github.com/map7/9de70cb330d8864c58787a251d5ea128
开始端到端测试时,我可以看到它加载了我的应用程序 3 次。前两次是正确的版本,最后一次是 运行 应用程序,它是以前的版本,这是 运行 测试的地方。
尝试在项目根目录上运行:
rm -rf node_modules/ package-lock.json platforms/ hooks/
npm install
这将清除所有项目缓存。
终于,重新开始
tns build android
npm run e2e -- --runType device.samsung