2017-06-13 5 views
1

En utilisant le framework jasmine dans le rapporteur et le tapuscrit, en obtenant une erreur dans l'instruction expect, même le réel et l'attendu sont égaux, veuillez indiquer où se trouve l'erreur.Erreur: Echec de l'attente - '3' attendu égal à 3

erreur

Je reçois

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) 

Voici mon spec.ts fichier

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); 
    }) 
}); 

Répondre

0

getText() retourne un string, de sorte que votre expect omet parce qu'ils ont la même valeur, mais pas le même type.

Vous pouvez changer votre assertion pour vérifier la valeur de chaîne: expect(value.getText()).toEqual('3');, ou vous pouvez retourner la valeur de la getText() promesse et utiliser parseInt() pour changer la chaîne en nombre.