2017-03-19 5 views
1

테스트 스크립트에 조건이있는 야간 테스트 스크립트를 작성하려고합니다. 내 코드는 지금까지NightWatchJS 테스트 스크립트를 사용하여 조건 테스트

module.exports = { 
tags: ['getting-started'], 
set_url: function (browser) { 
browser.url('http://www.google.com'); 
browser.pause(5000); 
browser.assert.title('Google'); 
if (browser.expect.element('#main').to.be.present) { 
    browser.pause(5000); 
    browser.setValue('input[type=text]', ['Night Watcher', browser.Keys.ENTER]); 
    browser.pause(5000); 
    if(browser.assert.containsText('#main', 'The Night Watch')){ 
    console.log('search has the right result'); // for example 
    }else{ 
    console.log('No result found'); 
    } 
} 
browser.end(); 
} 

} 그러나 browser.expect.element('#main').to.be.presentbrowser.assert.containsText('#main', 'The Night Watch')는 객체를 반환하고, 실제로 나는에 관심이 결과가 아닙니다. 그러나 browser.expect.element('#main').to.be.presentbrowser.assert.containsText('#main', 'The Night Watch')은 개체를 반환하며 실제로 내가 관심을 갖는 결과가 아닙니다.

답변

1

페이지 개체를 사용하고 있습니다 ... 페이지 개체를 사용하지 않으면 browser.elements라고 말하십시오. 다음 솔루션은 나를 위해 일했습니다

 .waitForElementPresent('#main', 1000) 
    .api.elements('css selector','input[type=text]',function(result){ 
    console.log("123"); 
    if(result.value) { 
     console.log("======================================"); 
     this.setValue('input[type=text]', ['Night Watcher', this.Keys.ENTER]); 
     } 
    }) 
    .waitForElementPresent('#main', 1000, function(res) { 
    if(res.value) { 
     console.log('search has the right result'); 
    }else{ 
     console.log('No result found'); 
     } 
    }) 

다음은 출력 코드에서 얻은 것입니다 .. 희망이 .. 당신을 도울 수 있습니다. 코드가 더 최적화 될 수 있습니다.

OutPut Shown

0

제목이 매우 기본적인 :

module.exports = { 
    tags: ['getting-started'], 
    set_url: function(browser) { 
     browser.url('http://www.google.com') 
      .pause(5000) 
      .assert.title('Google') 
      .waitForElementPresent('#main', 3000, function(result) { 
       if (result.value === true) { // '#main is present 
        this 
         .setValue('input[type=text)', 'Night Watcher') 
         .click('#search') //instead of enter, you can click search button 
         .getText("#main", function(result) { 
          console.log(result.value); 
          // You can continue here 
         }); 
       } 
      }) 
      .end(); 
    } 
};