2017-09-22 4 views
1

유성애 앱이 있고 webdriver.io의 헤드리스 브라우저를 통해 클라이언트에서 단위 테스트 내 일부 데이터를 검색하려고합니다.webdriverio browser.execute returns null

내가 원하는 데이터는이 함수에서입니다 :

Session.get() ->http://meteortips.com/first-meteor-tutorial/sessions/

내가 사용하는 헤드리스 브라우저가 URL 아래입니다 :

http://webdriver.io/

내 테스트는 다음과 같습니다 :

describe('[Check Boards]',() => { 
    it('should exist',() => { 
    const board = browser.execute('Session.get(\'currentBoard\')'); 
    ... 
    } 
} 

실제 브라우저 콘솔에이 명령어 Session.get('currentBoard')을 실행할 때 예상대로 보드를 가져옵니다.

{ 
    "state": "success", 
    "sessionId": "12345", 
    "hCode": 12345, 
    "value": null, 
    "class": "org.openqa.selenium.remote.Response", 
    "_status": 0 
} 

값은 널 (null)이지만, 보드가 있어야한다 : 나는 모카 테스트 내부에 상기 한 바와 같이 코드에서 실행할 때

는하지만,이 결과를 얻을.

+0

이 코드는 문제를 이해하고 도움을주기에 충분하지 않습니다. '이사회 '란 무엇입니까? 언제 초기화 되는가? 예제 코드가 실행 중일 때? – Styx

+0

안녕하세요. 코드를 약간 변경하고 일부 누락 된 부분을 보완하려고했습니다. – Gobliins

답변

0

browser.execute은 브라우저에서 실행할 기능이 있어야합니다. 당신은 문자열을 전달하기 때문에 아마도 무엇을해야할지 모른다. 다음 작업을해야 업데이트 된 코드입니다 :

describe('[Check Boards]',() => { 
    it('should exist',() => { 
    const board = browser.execute(function() { 
     return Session.get('currentBoard'); 
    }); 
    ... 
    } 
} 

당신은 자세한 내용을 찾고 있다면, 나는 (목록 # 23) 8 분 my WebdriverIO course에서 browser.execute 비디오가 있습니다.