Ich schreibe folgenden JS Code mit Winkelmesser. Hier habe ich eine data.json-Datei verwendet, um Daten für meinen Testfall zu lesen. In diesem Testfall lese ich einfach das Objekt aus diesem JSON und vergleiche es mit einem Wert, den ich aus dem Browser lese.Variable wird falsch inkrementiert
Problem, mit dem ich hier konfrontiert bin, ist in meiner Expect-Anweisung, der Wert aus JSON-Datei ist nicht korrekt.
Könnte jemand bitte helfen, das Problem hier zu identifizieren.
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
})
}
});
unter meinem data.json ist
[
"A1","A2","A3"
]
unten ist ein Teil der 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
einen Blick auf [Beispiel 5] Nehmen Sie gefunden werden kann (https://stackoverflow.com/ a/111111/4472840) –