2016-08-24 2 views
0

모카와 차이 티와 함께 ​​webdriver-io를 처음 사용했습니다.일부 Webdriver IO 모카 차이 질문

var homePage = 'http://www.mypage.com'; 
var expect = require("chai").expect; 
var headerText = 'h1.browse-header-title'; 
var currentHeaderText; 
var links = ['Furniture','Fine Art','Jewelry & Watches','Fashion']; 

describe('Test Suite 1', function(){ 

    before(function(){ 
     console.log('Running navigation h1 tag suite'); 
    }); 

    afterEach(function(){ 
     browser.close(); 
     // What method do I use? 
    }); 

    it('Should click Furniture and page header should match', function(done){ 
     browser.url(homePage).click('a[data-tn="global-nav-item-link-furniture"]'); 
     currentHeaderText = browser.getText(headerText); 
     expect(currentHeaderText).to.equal(links[0]); 
     console.log('h1 tag is '+currentHeaderText+''); 
    }); 
    it('Should click Fine Art and page header should match', function(done){ 
     browser.url(homePage).click('a[data-tn="global-nav-item-link-fine-art"]'); 
     currentHeaderText = browser.getText(headerText); 
     expect(currentHeaderText).to.equal(links[1]); 
     console.log('h1 tag is '+currentHeaderText+''); 

    }); 
    it('Should click Jewelry & Watches and page header should match', function(done){ 
     browser.url(homePage).click('a[data-tn="global-nav-item-link-jewelry-&-watches"]'); 
     currentHeaderText = browser.getText(headerText); 
     expect(currentHeaderText).to.equal(links[2]); 
     console.log('h1 tag is '+currentHeaderText+''); 
    }); 
    it('Should click Fashion and page header should match', function(done){ 
     browser.url(homePage).click('a[data-tn="global-nav-item-link-fashion"]'); 
     currentHeaderText = browser.getText(headerText); 
     expect(currentHeaderText).to.equal(links[3]); 
     console.log('h1 tag is '+currentHeaderText+''); 
    }); 

}); 

나의 첫번째 질문은 변수를 저장하는 더 좋은 곳으로 그들을 호출 할 적절한 방법이있다 : 첫째로 모두 여기 내 스크립트입니다?

afterEach browser.close() 함수를 실행할 때 브라우저 세션을 재설정하는 가장 좋은 방법은 browser.reset()을 시도했지만 두 번째 테스트를 호출하면 제대로 작동하지 않는 것 같습니다. mocha와 chai가 브라우저를 닫고 세션을 재설정하고 브라우저를 열고 홈 페이지로 이동하는 더 좋은 방법이 있습니까?

1) 시험은 차이를 이용하여 주장과 모카 작성해야합니다 :

다음은 내가 주어진 요구 사항이었다. 테스트를 수행하는 데 사용되는 프레임 워크는 webdriverIO 여야하며 네이티브 셀렌 명령이 없어야합니다.

2) 시험은 페이지 개체 패턴을 가능성 같은 사용자 이메일/패스워드와 같은 다른 시험 (에 사용되는

3) 변수를 활용하는 방식으로 기록한다)는 별도로 저장되어야 테스트 파일.

답변

1

코드 외부에 변수를 저장하는 데는 여러 가지 방법이 있습니다.

  1. 당신은 wdio.conf.js을 활용하고 this 같은 추가 customConfig 객체를 시작으로 가져 nconf를 사용 this
  2. 같은 코드 _page.navigate(browser.options.customConfig.baseUrl);에서 사용 또는 별도의 .json 파일에 보관 할 수 귀하 테스트 코드
  3. 또는 단순히 '는 ./testdata.json'에서 수입 testdata로 같은 data.json 가져오고 browser.close(), 요구 사항의 경우 워크 플로우, 산이으로 직접

까지 사용할 사용자 행동을 한 번에 하나의 파일로 유지하여 하나의 브라우저 세션에서 실행하도록했습니다. 관련없는 테스트 인 경우 사양을 분리하고 wdio/mocha가 병렬 실행 및 브라우저 세션을 처리하도록합니다.