My tests are passing from command line, however I edit the typescript
source using Atom
.
And when I open one of the test files in my editor, I'm seeing an error on this line:
expect(pageObject.name.getText()).toEqual('Some name');
This is the error:
Typescript
Error
Argument of type '"Some name"' is not assignable to parameter of type 'Expected<Promise<string>>'.at line 16 col 50
Why does this show in my editor? Yet tests pass.
Command to run protractor tests:
protractor dist/protractor.config.js
Snippet from package.json
"dependencies": {
"typescript": "2.3.3"
},
"devDependencies": {
"@types/jasmine": "2.5.45",
"@types/node": "^7.0.13",
"jasmine-core": "^2.6.0",
"jasmine-spec-reporter": "^4.1.0",
"protractor": "^5.1.2"
}
tsconfig.fvt.test.json
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": true,
"noUnusedLocals": true,
"moduleResolution": "node",
"sourceMap": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noUnusedParameters": true,
"outDir": "dist",
"skipLibCheck": true,
"target": "ES5",
"lib": [
"dom", "es5", "es6", "scripthost"
],
"types": ["jasmine"]
},
"include": [
"protractor.config.ts",
"test/e2e/**/*.ts"
]
}
getText()
returns promise. See the doc.
If you want to assert text from an element you need chai-as-promise. See example.
Currently, you can try
npm i "@types/jasminewd2" -D
and add jasminewd2
in your tsconfig.json compilerOptions.types
I met the problem either with protractor. It was the typing bug. Here is the issue link.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With