Appium Nativescript开发应用程序安装程序
我试图在现有的nativescript angular项目中实现nativescript dev appium,但在配置插件时遇到了很多麻烦 模拟器似乎已找到,但在所有挂钩之前的Appium Nativescript开发应用程序安装程序,appium,nativescript,nativescript-angular,Appium,Nativescript,Nativescript Angular,我试图在现有的nativescript angular项目中实现nativescript dev appium,但在配置插件时遇到了很多麻烦 模拟器似乎已找到,但在所有挂钩之前的和之后的中运行失败,因为它似乎没有设备实例 walrus:demo-appium niirds$ npm run e2e -- --runType sim.iPhoneX --verbose > @ e2e /Users/niirds/mobi/demo-appium > node ./node_modul
和之后的中运行失败,因为它似乎没有设备实例
walrus:demo-appium niirds$ npm run e2e -- --runType sim.iPhoneX --verbose
> @ e2e /Users/niirds/mobi/demo-appium
> node ./node_modules/nativescript-dev-appium/check-dev-deps.js && tsc -p e2e && mocha --opts ./e2e/config/mocha.opts "--runType" "sim.iPhoneX" "--verbose"
/Users/niirds/mobi/demo-appium/e2e/config/appium.capabilities.json
Capabilities found at: /Users/niirds/mobi/demo-appium/e2e/config/appium.capabilities.json
Appium will use default automation name
Available applications: ["platforms/ios/build/emulator/demoappium.app"]
Pick first application: "platforms/ios/build/emulator/demoappium.app"
Application full path: /Users/niirds/mobi/demo-appium/platforms/ios/build/emulator/demoappium.app
Found devices: [ { token: 'C8B1990E-1593-49A8-AA68-C7E5CC2134BB',
name: 'iPhone X',
status: 'booted',
type: 'watch',
apiLevel: '12.2',
platform: 'ios',
config: { density: 3, offsetPixels: 87 } } ]
1) "before all" hook: start server
2) "after all" hook: stop server
0 passing (2s)
2 failing
1) "before all" hook: start server:
TypeError: Cannot read property 'type' of undefined
at DeviceManager.<anonymous> (node_modules/nativescript-dev-appium/lib/device-manager.js:82:28)
at Generator.next (<anonymous>)
at fulfilled (node_modules/nativescript-dev-appium/lib/device-manager.js:4:58)
at process._tickCallback (internal/process/next_tick.js:68:7)
2) "after all" hook: stop server:
TypeError: Cannot read property 'platform' of undefined
at Function.<anonymous> (node_modules/mobile-devices-controller/lib/device-controller.js:104:24)
at Generator.next (<anonymous>)
at /Users/niirds/mobi/demo-appium/node_modules/mobile-devices-controller/lib/device-controller.js:7:71
at new Promise (<anonymous>)
at __awaiter (node_modules/mobile-devices-controller/lib/device-controller.js:3:12)
at Function.uninstallApp (node_modules/mobile-devices-controller/lib/device-controller.js:103:16)
at Object.<anonymous> (node_modules/nativescript-dev-appium/index.js:85:64)
at Generator.next (<anonymous>)
at /Users/niirds/mobi/demo-appium/node_modules/nativescript-dev-appium/index.js:7:71
at new Promise (<anonymous>)
at __awaiter (node_modules/nativescript-dev-appium/index.js:3:12)
at Object.stopServer (node_modules/nativescript-dev-appium/index.js:77:12)
at Object.<anonymous> (e2e/setup.js:16:37)
at Generator.next (<anonymous>)
at /Users/niirds/mobi/demo-appium/e2e/setup.js:7:71
at new Promise (<anonymous>)
at __awaiter (e2e/setup.js:3:12)
at Context.after (e2e/setup.js:15:28)
at process.topLevelDomainCallback (domain.js:121:23)
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! @ e2e: `node ./node_modules/nativescript-dev-appium/check-dev-deps.js && tsc -p e2e && mocha --opts ./e2e/config/mocha.opts "--runType" "sim.iPhoneX" "--verbose"`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the @ e2e script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
我已经安装了xcode 10.2,如果有帮助,这里是package.json
{
"nativescript": {
"id": "org.nativescript.demoappium",
"tns-android": {
"version": "5.3.0"
},
"tns-ios": {
"version": "5.3.0"
}
},
"description": "NativeScript Application",
"license": "SEE LICENSE IN <your-license-filename>",
"repository": "<fill-your-repository-here>",
"scripts": {
"lint": "tslint \"src/**/*.ts\"",
"e2e": "node ./node_modules/nativescript-dev-appium/check-dev-deps.js && tsc -p e2e && mocha --opts ./e2e/config/mocha.opts ",
"e2e-watch": "tsc -p e2e --watch"
},
"dependencies": {
"@angular/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/http": "~7.2.0",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"nativescript-angular": "~7.2.0",
"nativescript-theme-core": "~1.0.4",
"reflect-metadata": "~0.1.12",
"rxjs": "~6.3.0",
"tns-core-modules": "~5.3.0",
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular/compiler-cli": "~7.2.0",
"@nativescript/schematics": "~0.5.0",
"@ngtools/webpack": "~7.2.0",
"@types/chai": "~4.1.7",
"@types/mocha": "~5.2.5",
"@types/node": "~10.12.18",
"codelyzer": "~4.5.0",
"mocha": "~5.2.0",
"mocha-junit-reporter": "~1.18.0",
"mocha-multi": "~1.0.1",
"nativescript-dev-appium": "^5.1.0",
"nativescript-dev-sass": "~1.7.0",
"nativescript-dev-typescript": "~0.9.0",
"nativescript-dev-webpack": "~0.21.0",
"tslint": "~5.11.0"
},
"gitHead": "6ccaee804c71761be1c2f91d0b2dd67c8ba6d2b6",
"readme": "NativeScript Application"
}
{
“nativescript”:{
“id”:“org.nativescript.demoappium”,
“tns安卓”:{
“版本”:“5.3.0”
},
“tns ios”:{
“版本”:“5.3.0”
}
},
“说明”:“NativeScript应用程序”,
“许可证”:“请参阅中的许可证”,
“存储库”:“,
“脚本”:{
“lint”:“tslint\”src/***.ts\”,
“e2e”:“node./node_modules/nativescript dev appium/check-dev-deps.js&&tsc-p e2e&&mocha--opts./e2e/config/mocha.opts”,
“e2e手表”:“tsc-p e2e——手表”
},
“依赖项”:{
“@angular/animations”:“~7.2.0”,
“@angular/common”:“~7.2.0”,
“@angular/compiler”:“~7.2.0”,
“@angular/core”:“~7.2.0”,
“@angular/forms”:“~7.2.0”,
“@angular/http”:“~7.2.0”,
“@angular/platform浏览器”:“~7.2.0”,
“@angular/platform browser dynamic”:“~7.2.0”,
“@angular/router”:“~7.2.0”,
“nativescript angular”:“~7.2.0”,
“nativescript主题核心”:“~1.0.4”,
“反映元数据”:“~0.1.12”,
“rxjs”:“~6.3.0”,
“tns核心模块”:“~5.3.0”,
“zone.js”:“~0.8.26”
},
“依赖性”:{
“@angular/compiler cli”:“~7.2.0”,
“@nativescript/schematics”:“~0.5.0”,
“@ngtools/webpack”:“~7.2.0”,
“@types/chai”:“~4.1.7”,
“@types/mocha”:“~5.2.5”,
“@types/node”:“~10.12.18”,
“codelyzer”:“~4.5.0”,
“摩卡”:“~5.2.0”,
“摩卡青年记者”:“~1.18.0”,
“摩卡多元”:“~1.0.1”,
“nativescript开发应用程序”:“^5.1.0”,
“nativescript开发sass”:“~1.7.0”,
“nativescript开发人员类型脚本”:“~0.9.0”,
“nativescript开发网页包”:“~0.21.0”,
“tslint”:“~5.11.0”
},
“gitHead”:“6ccaee804c71761be1c2f91d0b2dd67c8ba6d2b6”,
“自述文件”:“NativeScript应用程序”
}
复制步骤:
1.创建示例nativescript angular应用程序——我在本测试中使用了选项卡导航。
2.安装nativescript开发应用程序:npm i-D nativescript开发应用程序
3.安装其他依赖项
4.构建应用程序:tns构建
5.运行测试:`npm run e2e--runType
我一直在努力让它在iOS上运行。
任何帮助都将不胜感激 我认为由于某种原因,设备控制器返回的设备类型type:'watch'
不正确
我建议您将配置更改为:
"sim.iPhoneX": {
"platformName": "iOS",
"platformVersion": "12.2",
"deviceName": "iPhone X",
"noReset": false,
"fullReset": false,
"app": ""
},
或者简单地使用--ignoreDeviceController
选项进行尝试。您是否通过在上运行测试来验证您的环境设置?你有没有一个Github示例可以重现这个问题?是的,我发布的代码来自angular tab示例应用程序。我可以添加复制步骤来澄清。非常感谢!ignoreDeviceController
选项确实帮助appium找到了该设备,我不得不将安装版本从“/12*/”更改为“12.2”。虽然我发现我必须使用桌面应用程序启动appium服务器,并在开始测试之前启动模拟器——但两个都不是从测试开始的。你能告诉我我是否有一些配置设置错误吗?我认为appium服务器和模拟器应该由插件启动?
"sim.iPhoneX": {
"platformName": "iOS",
"platformVersion": "12.2",
"deviceName": "iPhone X",
"noReset": false,
"fullReset": false,
"app": ""
},