2017-11-15 15 views
0

안녕하세요 저는 "각도 4"응용 프로그램을위한 각도기 자동화 스크립트를 작성하고 있습니다."각도기"를 사용하여 "요소"의 "텍스트"를 가져올 수 없습니다

개발 코드는 아래와 같습니다.

<!--Byndd Title div--> 
      <div class="ui-g-12 ui-md-8 ui-lg-10"> 
       <div class="bynndTitleClass" i18n="@@introductionBynddHeader"> 
        BynddYour Information Together And CONNECT to the world in an EFFICIENT way 
       </div> 
      </div> 

내 분도기 테스트 스크립트는 다음과 같습니다.

페이지 개체 코드 :

//to return login page heading 
    getLoginPageMainHeading(){ 
       return element(by.css('div[class="bynndTitleClass"]')).getText(); 
    } 

사양 코드 :

//Testcase1 : To open the "Login page" of the application 
    it('should open the Login page' ,()=>{ 
     //To open the Login page 
     page.loginPageDisplay(); 

     // to verify whether the Current page is Login page or not by comparing with Login page Main heading 
     expect(page.getLoginPageMainHeading().toString()).toBe('BynddYour Information Together And CONNECT to the world in an EFFICIENT way'); 
    }); 

실행 후에 오류 메시지가 아래에 표시됩니다.

W
1) should test certificate tab should open the Login page 
    - Expected '[object Object]' to be 'BynddYour Information Together And CONNECT to the world in an EFFICIENT way'. 

사람은 expect()이 약속 자체, 당신은 당신의 pageObject 내 return element.getText()에 대한 권리 경로에있어 해결하기 때문에이 문제를

답변

1

를 해결하는 방법을 나에게 도움이 될 수 있습니다.

그러나 .toString()을 추가 했으므로 이제 expect 명령은 약속을 해결하지 않고 요소를 String으로 변환합니다.

나는 단지 요소를 반환하고 expect 문에 getText()을 적용 할 것을 제안합니다. 그것은 더 합리적인하고 pageObject 기능을 더 잘 다른 테스트에 대한 재사용을 유지합니다. 그래서 여기

내 제안 :

PageObject (getText()없이 바로 요소를 반환) :

//to return login page heading 
getLoginPageMainHeading(){ 
      return element(by.css('div[class="bynndTitleClass"]')); 
} 

및 사양 (대신 toString()getText()) :

//Testcase1 : To open the "Login page" of the application 
it('should open the Login page' ,()=>{ 
    //To open the Login page 
    page.loginPageDisplay(); 

    // to verify whether the Current page is Login page or not by comparing with Login page Main heading 
    expect(page.getLoginPageMainHeading().getText()).toBe('BynddYour Information Together And CONNECT to the world in an EFFICIENT way'); 
}); 
+0

@Emst Zwingli는 답장을 보내 주셔서 감사합니다. Spec과 Po 파일 코드가 변경되었지만 여전히 동일한 오류가 표시됩니다. 위의 코드를 사용하여 해결합니다. – vasundhara

0

이 해결할 수있는 문제 내 문제

page.getLoginPageMainHeading().getText().then(function(value){ 
      expect(value).toEqual('BynddYour Information Together And CONNECT to the world in an EFFICIENT way'); 
     }) 
+0

jasmine expect를 사용할 때 명시 적으로 약속을 해결할 필요가 없습니다. 'expect (page.getLoginPageMainHeading(). getText()). toEqual ('BynddYour 정보와 함께 세계와 효율적으로 연결')'작동해야합니다! –