2017-12-15 16 views
1

var에에 할당각도기 E2E : 문자열을 추출하고 난 E2E 회귀를 구동하기 위해 각도기와 타이프 라이터를 사용하고

요소

<strong _ngcontent-jwu-49="" data-protractor="StreamId">11107</strong>' 

내가에서 ID를 추출해야 경우 요소 및 문자열 및 ID에서 URL을 구성

내가 무슨 일을하든 약속이 해결되지 않음

여기

난 아직도

function getStreamId() { 
    //browser.ignoreSynchronization = true; 
    var streamIdElement = $$("[data-protractor='StreamId']") 
    var streamId = streamIdElement.getText().then(
function(text){ 

browser.get('https://URL/page/'+text); 
     console.log(streamId) 
    }) 

을 시도한 것입니다 약속

browser.executeScript("var text = document.querySelectorAll('[data- 
protractor='StreamId']').innerHtml").then(function(text) 
{console.log(text);}); 

fails WebDriverError: unknown error: Runtime.evaluate threw exception: SyntaxError: missing) after argument list

내 질문은이 부분 하나입니다

  1. 값을 추출 할 필요가 있고 문자열 (.then(function(text){console.log(text)})와 로그를 읽을 수 없습니다로 약속을 해결하기 위해도 가능하다 나중에

  2. 상호 작용, 그렇다면 각도기의 가장 좋은 방법은 무엇 I 변수에 할당하고 나중에 사용 가능)

답변

2

첫 번째 시도는 실제로 최종 결과에 매우 가깝습니다. getText()이라는 요소를 찾고 약속을 해결했습니다. 당신에 침묵하는 것에 대한

function getStreamId() { 
    var streamIdElement = $$("[data-protractor='StreamId']") 
    return streamIdElement.getText(); 
} 

getStreamId().then(function(streamId) {   
    browser.get('https://URL/page/'+streamId); 
    console.log(streamId); 
}); 
+0

미안 :

는 실제 값 필요하면 함수가 약속을 반환하고 해결합니다. 답해 주셔서 감사합니다. 이번 주에이 솔루션을 사용해보고 다시보고하겠습니다. – toxicBurn

+0

다시 한번 감사드립니다. @alecxe. 효과가있다. – toxicBurn