2014-01-23 2 views
2

이것은 매우 간단한 질문이지만 셀레늄 - webdriver의 javascript 바인딩 문서가 너무 희소하기 때문에 이에 대한 답을 찾지 못하는 것 같습니다. (Java 바인딩에 대한 많은 문서가 있지만 자바 스크립트는 다른 이야기입니다.)요소의 보이는 텍스트 얻기

보통및 webdriver으로 가정하면 임의의 요소의 텍스트를 어떻게 얻을 수 있습니까?

나는 getText(), then() 등의 놀라운 조합을 시도했지만 아무 것도 작동하지 않는 것 같습니다. 나는 완전히 잘못된 것을해야 할 것이다.

+0

자바 스크립트로 테스트를 작성하거나 테스트 (Java/C#/다른 항목으로 작성)에서 일부 자바 스크립트를 실행하고 싶습니까? –

+0

내 테스트는 자바 스크립트로 작성되었습니다. 저는 Mocha, Chai 및 selenium-webdriver (Node.js에 있음)를 사용하고 있습니다. – rinogo

+0

'element.getAttribute ("innerText")'는 요소 텍스트를 제공합니까? – Faiz

답변

5

가치가있는 부분에 대해 필자는 테스트 스위트의 다른 테스트에서 다음과 유사한 (작동하는) 비트의 코드를 발견했습니다. 나는 다른 테스트 (아래)를 작동시킬 수 있었지만 내가 집중하고있는 테스트는 얻을 수 없다는 것이 이상했다.

driver.findElement(webdriver.By.css('.failures em')).getText().then(function(v) { 
    expect(v).to.equal('0'); 
    done(); 
}); 

아마도 나는 다른 것을 바라 보았습니다.

상관없이, 나는 약속/동의와 동기/비동기 코드의 혼합 셀레늄 - webdriver의 혼란에 너무 좌절되고있다. 나는 대신 WebdriverJS (http://www.webdriver.io/)를 사용하기로 결정했으며, 지금까지 매우 직관적이고 만족스러운 마이그레이션을 발견했습니다. 테스트가 다시 재미 있습니다! :)

행운을 빈다.

+0

2017 업데이트 : 필요에 따라 PhantomJS 및 NightmareJS를 체크 아웃 할 수 있습니다. – rinogo