2016-08-31 7 views
0

현재 중복 된 기능이 많이 있습니다. 연결되는 요소 이름 만 다릅니다. 나는 시험 자체의 요소를 참조 할 수 있습니다, 그 결과 다음NightwatchJs - 참조 된 요소와 텍스트를 연결할 수 없습니다.

module.exports = { 

    commands: [fixtureCommands], 

    elements: { 
     navbarPreferences: '#preferences', 
    } 
}; 

그리고 :

선언 요소 : 그들은 페이지 개체 모델 패턴으로 설계하고 있기 때문에

, 그들은이 구조를 따라 (요소 이름 앞의 @ 기호 사용 :

this.click('@navbarPreferences') 

현재 -이 기능은 텍스트로 변수를 ncatenates.

그러나
function: function (name) { 
var i; 

for (i = 0; i < names.length; i++) { 
    var elementName = '#preferences-' + strippedName; 
    this.click(elementName); 
} 
    return this.api; 
}, 

, I는 요소를 참조하는 방법 (I 위의 예에서 수있는 것처럼) (내 위의 예에서와 같이) 다른 함께 연결할 텍스트 아래에 선언 된 소자에 실제로 변하기 쉬운.

var elementName = '@navbarPreferences' + strippedName; 

위의 내용은 요소 자체가 아닌 실제 텍스트를 출력합니다.

감사합니다.

답변

0

다른 변수에 "props"라는 선언 구조를 추가 할 수 있습니다. 예를 this.props.your_var :이 같은 변수를 호출 할 수있는 것보다

props: { 
    navbarPreferences: '#preferences', 
}, 
elements: { 
     someElement: '#some-element' 
    }, 

VAR가 elementName = this.props.navbarPreferences + strippedName;