2014-02-12 2 views
1

사람이 "오류 : 응답 오류 상태 : 7"이라는 이유를 설명 할 수 있습니까? Intern 기능 테스트에서 다음을 실행할 때? 내가 요소의 존재 여부를 확인하고 있습니다 (발견하고, 존재) 후 이동과 클릭을 시도인턴에서 hasElementByCss 성공 후 elementByCss 오류가 발생했습니다.

.hasElementByCss("#COLUMN1_HEADER > span") 
.then(function(result) { 
    console.log("Test #2a - Check column header"); 
    assert(result == true, "Could not find COLUMN1_HEADER in Test #2a"); 
}) 
.elementByCss("#COLUMN1_HEADER > span") 
    .moveTo() 
    .click() 
    .end() 

참고.

일부 console.log 호출을 사용하여 ".elementByCss"행에 확실히 실패했는지 확인했습니다. 흥미로운 점은 테스트의이 섹션 위에 키보드로 구동되는 테스트가 많이 있다는 것입니다.

내가 이해할 수없는 것은 동일한 CSS 선택기를 사용하는 "hasElementByCss"와 "elementByCss"가 어떻게 다른 결과를 산출하고 키보드 테스트에 어떤 영향을 미쳤는지입니다.

+0

이것은 테스트 초기에 .active() 메소드를 사용했기 때문에 발생합니다 ... elementByCss는 콜백에서 반환 된 요소 내에서만 검색합니까? –

+0

has 메소드의 사용은 강력히 권장되지 않습니다. 'elementByCss' 명령의 성공 여부에 따라 요소가 존재하는지 여부를 알 수 있습니다. –

답변

2

나는이 코드를 테스트 코드로 돌아가서 이전에 .active()를 사용한 후에 .end()를 호출했음을 확인하여이 문제를 해결했다. 예상되는 행동 - 그러나 명확하지는 않습니다. 저는 이것을 개인적으로 버그라고 생각합니다.

+0

예상됩니다. 일단 요소를 검색하면, 그것은'end'를 호출하지 않는 한 미래의 요청에 대한 루트 컨텍스트가됩니다. 이것은 jQuery DOM 메소드가 작동하는 것과 같으며 결함이 아닙니다. –