2017-06-01 109 views
-1

在執行我的腳本時,立即所有步驟顯示爲在控制檯中傳遞,然後執行我的實際腳本。即使在每一步都回復了承諾。在量角器黃瓜執行前顯示的所有步驟

特性文件:

Feature: Running Cucumber with Protractor 

Scenario: To verify the Search result 
    Given I am on home page 
    When I enter search value 
    Then I verify the search page 

步驟定義:

var chai = require('chai'); 
var chaiAsPromised = require('chai-as-promised'); 
var expect = chai.expect; 
chai.use(chaiAsPromised); 

module.exports = function() { 
    this.Given(/^I am on home page$/, function() { 
    browser.get(browser.baseUrl); 
    return browser.driver.getTitle().then(function(pageTitle) { 
    expect(pageTitle).equal('Online Shopping Site for Mobiles, Fashion, Books, Electronics, Home Appliances and More'); 
}); 
}); 

this.When(/^I enter search value$/, function() { 
    return element(by.name('q')).sendKeys('iPhone 4s'); 
}); 

this.Then(/^I verify the search page$/, function() { 
    browser.sleep(1000); 
    return expect(element(by.className('KG9X1FUs7BSJ3tl0huXbH')).isPresent()).to.eventually.equal(true);  
    }); 
} 

,並且輸出顯示爲: enter image description here

+0

的可能的複製[量角器黃瓜BDD執行測試之前顯示通行證(https://stackoverflow.com/questions/38405184 /量角器 - 黃瓜 - bdd - 測試 - 顯示通過執行前) – wswebcreation

回答

1

有被標記爲綠色的,因爲你沒有解決的承諾。您已選擇在您的設置中不返回callback,而是返回承諾。這意味着每一行代碼都應該返回一個承諾。

如果你改變你的代碼到承諾你會得到這個

var chai = require('chai'); 
 
var chaiAsPromised = require('chai-as-promised'); 
 
var expect = chai.expect; 
 
chai.use(chaiAsPromised); 
 

 
module.exports = function() { 
 
    this.Given(/^I am on home page$/, function() { 
 
    browser.get(browser.baseUrl); 
 
    return expect(browser.driver.getTitle()) 
 
     .to.eventually.equal('Online Shopping Site for Mobiles, Fashion, Books, Electronics, Home Appliances and More'); 
 
    }); 
 

 
    this.When(/^I enter search value$/, function() { 
 
    return element(by.name('q')).sendKeys('iPhone 4s'); 
 
    }); 
 

 
    this.Then(/^I verify the search page$/, function() { 
 
    browser.sleep(1000); 
 
    return expect(element(by.className('KG9X1FUs7BSJ3tl0huXbH')).isPresent()).to.eventually.equal(true); 
 
    }); 
 
}

+0

嗨是的,我同意了,但在我以前的SD本身,我已經回報了一個承諾。但我仍然面臨這個問題。即我在每一步結束時都會回覆一個承諾,但仍然面臨一個問題。 – KAK

+0

如果我看看您提出的所有問題,我認爲您在完整設置中遇到問題。 – wswebcreation

+0

嗯...我dono我錯過了...然後讓我卸載模塊並嘗試新的。謝謝你的幫助。 – KAK