2017-06-13 54 views
1

在量角器和打字稿中使用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); 
    }) 
}); 

回答

0

getText()返回string,使您的expect失敗,因爲它們具有相同的價值,但不一樣的類型。

你可以改變你的斷言來檢查字符串值: expect(value.getText()).toEqual('3');,或者你可以從getText()承諾返回值,並使用parseInt()字符串更改爲數字。

相關問題