0
需要執行承諾的幫助。 代碼:如何立即執行承諾
it('[TEST-1] Log in with invalid credentials-wrong email', function() {
//LogIn
browser.logger.info("[ENTRY] - Username: " + browser.params.Adenity.loginInfo[2].username);
element(by.id('js-input-email')).sendKeys(browser.params.Adenity.loginInfo[2].username);
expect(element(by.id('js-input-email')).getAttribute('value')).toEqual(browser.params.Adenity.loginInfo[2].username);
element(by.id('js-input-email')).getAttribute('value').then(function(pom) {
if (pom == browser.params.Adenity.loginInfo[2].username)
browser.logger.info("Username populated succesfully");
else
browser.logger.info("Username not populated succesfully");
});
browser.logger.info("[ENTRY] - Password: " + browser.params.Adenity.loginInfo[2].password);
element(by.id('js-input-password')).sendKeys(browser.params.Adenity.loginInfo[2].password);
expect(element(by.id('js-input-password')).getAttribute('value')).toEqual(browser.params.Adenity.loginInfo[2].password);
element(by.id('js-input-password')).getAttribute('value').then(function(pom) {
if (pom == browser.params.Adenity.loginInfo[2].password)
browser.logger.info("Password populated succesfully");
else
browser.logger.info("Password not populated succesfully");
});
});
實際結果:
[INFO] protractorLog4js - [ENTRY] - Username: [email protected]
[INFO] protractorLog4js - [ENTRY] - Password: Test1234
[INFO] protractorLog4js - Username populated succesfully
[INFO] protractorLog4js - Password populated succesfully
我想要的結果:
[INFO] protractorLog4js - [ENTRY] - Username: [email protected]
[INFO] protractorLog4js - Username populated succesfully
[INFO] protractorLog4js - [ENTRY] - Password: Test1234
[INFO] protractorLog4js - Password populated succesfully
我不知道我應該如何解決這個問題,所以任何幫助表示讚賞。
['.resolve'](HTTPS ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve)? –
你**不能讓異步代碼神奇地同步。查看[這個問題]的答案(http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call),它討論了一系列異步操作。就你而言,你正在尋找一個關於串聯(不平行)的答案。您還需要了解您的測試框架如何處理異步測試。 –
就像Javascript一樣令人驚歎,它不能做時間旅行:p –