错误:期望失败 - 预期'3'等于3
问题描述:
在量角器和打字稿中使用jasmine框架,即使实际期望语句和预期中的错误相同,请指导错误的位置。错误:期望失败 - 预期'3'等于3
错误我得到
Failures:
1) Protractor Demo App should add correctly
Message:
Expected '3' to equal 3.
Stack:
Error: Failed expectation
at Object.<anonymous> (C:\MyFiles\NewTechonologies\Protractor\TypeScript\Test\calc.ts:27:34)
at C:\Users\skp\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:112:25
at new ManagedPromise (C:\Users\skp\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-we
bdriver\lib\promise.js:1067:7)
at ControlFlow.promise (C:\Users\skp\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-w
ebdriver\lib\promise.js:2396:12)
at schedulerExecute (C:\Users\skp\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\in
dex.js:95:18)
at TaskQueue.execute_ (C:\Users\skp\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-we
bdriver\lib\promise.js:2970:14)
这里是我的spec.ts文件
import {browser, element, by, By, $, $$, ExpectedConditions} from 'protractor';
import protractor = require('protractor');
describe('Protractor Demo App', function() {
var firstNumber = element(by.model('first'));
var secondNumber = element(by.model('second'));
var goButton = element(by.id('gobutton'));
let value = element(by.xpath("//*[@class='table']/tbody//tr[1]/td[3]"));
function add(a, b) {
firstNumber.sendKeys(a);
secondNumber.sendKeys(b);
goButton.click();
}
beforeEach(function() {
browser.get('http://juliemr.github.io/protractor-demo/');
});
it('should add correctly', function() {
add(1, 2);
browser.sleep(3000);
expect<any>(value.getText()).toEqual(3);
})
});
答
getText()返回string
,使您的expect
失败,因为它们具有相同的价值,但不一样的类型。
你可以改变你的断言来检查字符串值: expect(value.getText()).toEqual('3');
,或者你可以从getText()
承诺返回值,并使用parseInt()字符串更改为数字。