I am writing following JS code with protractor. Here I used a data.json file to read data for my test case. Within this test case, I am simple reading the item from this JSON and comparing it with a value that I am reading from the browser.
Problem that I am facing here is in my Expect statement,the value from JSON file is not correct.
Could any one please help to identify the problem here.
var datafile = require('./Data.json')
beforeEach(() => {
browser.get("https://angularjs.org");
});
describe('Test Angular Page ', () =>
{
it('user name should be displayed correctly #try', () =>
{
var count = datafile.length;
for (var i=0; i<count; i++)
{
var value = datafile[i];
browser.refresh();
element(by.model('yourName')).sendKeys(value);
(element(by.binding('yourName'))).getText()
.then(function (txt)
{
expect(txt).toEqual('Hello '+ value+'!');
//this is failing
})
}
});
below is my data.json
[
"A1","A2","A3"
]
below is some part of the result-
1) Test Angular Page user name should be displayed correctly #try
Message:
Expected 'Hello A1!' to equal 'Hello A3!'.
Stack:
Error: Failed expectation
at D:\Demo_Protractor\test.spec.js:24:44
at elementArrayFinder_.then (C:\User s\leenasharma\AppData\Roaming\npm\node_modules\protractor\lib\element.ts:840:22)
at ManagedPromise.invokeCallback_ (C:\Users\leenasharma\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:1366:14)
at TaskQueue.execute_ (C:\Users\leenasharma\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2970:14)
at TaskQueue.executeNext_ (C:\Users\leenasharma\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2953:27)
at asyncRun (C:\Users\leenasharma\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:2813:27)
at C:\Users\leenasharma\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\promise.js:676:7
at process._tickCallback (internal/process/next_tick.js:109:7)
Message:
Expected 'Hello A2!' to equal 'Hello A3!'.
Stack:
Error: Failed expectation