2012-05-17 9 views
1

여기에 자바 스크립트 코드 (줄 바꿈 및 들여 쓰기가 명확하게 추가 된 Selenium IDE)가 있습니다. storeEval |어떻게 실수로 "FOR"사이클을 멈출 수 있습니까?

var input = window.document.getElementsByTagName('input'); 
for(var i = 0; i<input.length; i++) { 
    if(window.document.defaultView.getComputedStyle(input[i]).getPropertyValue('background-color') == 'rgb(204, 230, 255)') { 
     testResult='passed'; 
    } else { 
     testResult='failed'; 
    } 
} 

| testResult

모든 입력의 색상을 확인해야합니다. 그러나 Selenium Ide은 마지막 "INPUT"의 테스트 결과 만 저장합니다. 테스트 중간에 오류가있는 것 같습니다. 도와주세요. 죄송합니다 나의 나쁜 영어

+1

'쓰기'보다 '실패'이후에 중지하려는 경우; 명령 ... – Onheiron

+0

나는 붕괴를 썼다. {testResult = 'failed'; 휴식;}},하지만 내 testResult 지금은 항상 모든 색상이 맞을 때에도 실패했습니다 – user1211063

답변

1

당신은 수정해야하는 것 : 시험이 for 루프를 중단하기 위해 실패 할 때

  • testResult
  • break가 추가 기본값을 주어
  • 라디오, 확인란 또는 다른 유형의 입력을 처리하는지 여부를 구별하십시오.

코드가 업데이트되었습니다.

var input = window.document.getElementsByTagName('input'); 
testResult = 'passed'; // <-- set a default value for 'testResult' 
for (var i = 0; i < input.length; i++) { 
    var bgColor = window.document.defaultView.getComputedStyle(input[i]).getPropertyValue('background-color'); 
    var inputType = input[i].type; 

    if (inputType === 'radio' || inputType === 'checkbox') { 
     if (bgColor !== 'rgb(r, g, b)') { // change the value to the desired one 
      testResult = 'failed'; 
      break; // <-- this is what you need to break the 'for' loop 
     } 
    } 
    else { 
     if (bgColor !== 'rgb(204, 230, 255)') { 
      testResult = 'failed'; 
      break; // <-- this is what you need to break the 'for' loop 
     } 
    } 
} 
+0

큰 감사하지만, 작동하지 않습니다. 지금, 내 testResult 항상 모든 색상이 옳은 경우에도 "실패"입니다. 도움이된다면 여기 page : svyatoslav.biz/testlab/megaform.php – user1211063

+0

오! 그게 효과 야! 하지만 ... 내 페이지에는 1 이 있으므로 테스트가 중단됩니다. 이 입력이 없으면 테스트가 올바르게 작동합니다. 어쩌면 누군가는이 문제를 어떻게 해결할 수 있을지 알고 있습니다. – user1211063

+0

P. 내 스크립트 "{testResult = 'failed'; break;}}"도 작동합니다. – user1211063

2
var input = window.document.getElementsByTagName('input'); 
var testResult = 'passed'; 
for(var i = 0; i<input.length; i++) { 
    if(window.document.defaultView.getComputedStyle(input[i]).getPropertyValue('background-color') != 'rgb(204, 230, 255)') { 
    testResult = 'failed'; 
    break; 
    } 
} 
+0

아! 그게 효과 야! 하지만 ... 내 페이지에는 1 이 있으므로 테스트가 중단됩니다. 이 입력이 없으면 테스트가 올바르게 작동합니다. 어쩌면 누군가는이 문제를 어떻게 해결할 수 있을지 알고 있습니다. – user1211063

관련 문제