2017-02-16 1 views
0

팀,는 URL을

내가 txtSearch 같은 변수로 요소를 선언하고를 실행), 어떤 점에서 나는

var clickOn = function(webElement){ 
webElement.click(); 
console.log("Successfully clicked on the " + webElement); 
}; 

내가 clickOn (txtSearch 같은 파일 사양에서이 함수를 호출하고)

이 CONSOLE.LOG가 문 앞에 콘솔을 로깅로 문을 기록 할 지 즉 URL이 시작되기 전에 먼저 모든 console.log 문이 먼저 실행됩니다.

노드 버전 :

아래에 필요한 세부 사항을 찾아주세요 3.10.3 각도기 버전 : 사전에 4.0.3

감사합니다.

+1

이 예상되는 동작을 :

는하지만 난 강력하게 webdriverjs의 약속과 제어 흐름에 대해 읽어 것이 좋습니다. 모든 코드는 비동기 방식으로 실행됩니다. –

+0

nodejs를 반드시 업그레이드해야합니다. 7 버전을 사용하는 것이 좋습니다. 또한 protractorjs 5.x는 노드 js에서 작동하지 않습니다 <6 – Xotabu4

답변

2

비동기적인 세계에 오신 것을 환영합니다! 모든 것이 당신이 원하는 것을 실행 순서를 만들기 위해 비동기이 때문에

,이 시도 : 클릭이 실제로 브라우저 측에서 수행 할 때

var clickOn = function(webElement){ 
    return webElement.click().then(()=> { 
     console.log("Successfully clicked on the " + webElement); 
    }); 
}; 

이는 콘솔 로그를 예약 할 것입니다. http://seleniumhq.github.io/selenium/docs/api/javascript/module/selenium-webdriver/lib/promise.html

+2

흠 또한이 답변을 게시하고 싶었지만 Promises 및 ES6 항목을 지원하지 않는 노드 3.10.3을 사용한다는 사실과 이 버전을 구하십시오 : D? –

+0

그게 효과가있어. 고마워요 @ Xotabu4 –