복잡한 구성 항목이있는 웹 응용 프로그램에서 다양한 구성 항목의 입력 필드를 포함하는 탭이 있습니다. 다른 탭의 필드에 데이터를 입력 한 다음 저장을 실행하는 테스트를 작성하고 있습니다. 각 항목을 입력 할 때 데이터 입력 컨트롤에 다음 단계로 이동하기 전에 선택한 텍스트 또는 값이 있는지 확인합니다. 때때로 다른 탭으로 이동하면 이전 탭의 필드에 입력 한 데이터가 손실되는 경우가 종종 있습니다.셀레늄 : 여러 탭이있는 양식으로 입력 된 데이터가 때때로 사라집니다.
어떻게 방지합니까?
Java에서 WebDriver와 함께 Selenium 2를 사용하고 Firefox로 테스트를 실행 중입니다.
나는 두 개의 필드에 문제가 있어요 : 자동 완성 기능
와 텍스트 입력 상자가
하나는 간단한 텍스트 입력 필드 두 번째입니다 두 필드는 마지막 사람 I를 입력 데이터는 이전에 있습니다 탭 전환. 탭을 전환하기 전에 데이터를 입력하는 다른 필드는 데이터를 잃지 않습니다. 새 탭으로 이동하기 전에 바로 상호 작용합니다.
입력 필드에 텍스트를 보내는 메서드의 끝에 JQuery가로드되었는지 확인하려고 시도했지만 도움이되지 않습니다. JQuery를 검사하는 메서드는 true를 반환하고 데이터는 가끔 지워집니다.
데이터를 수동으로 입력 할 때 이런 일이 발생하지 않으며 데이터가 하나의 탭에만 입력되는 다른 자동화 된 테스트에서는 발생하지 않습니다. 텍스트를 입력 한 경우 여기
는 자동 완성 필드의 HTML과 자동 완성 트리거 한 대기중인 입력이 없을 : : 여기<div id="s2id_autogen5" class="select2-container select2-container-multi select2">
<ul class="select2-choices" style="">
<li class="select2-search-choice">
<div>
htm
</div>
<a class="select2-search-choice-close" tabindex="-1" onclick="return false;" href="#"></a>
</li>
<li class="select2-search-field">
<input class="select2-input" type="text" autocomplete="off" tabindex="0" style="width: 10px;"></input>
</li>
</ul>
</div>
는 간단한 텍스트 입력 필드의 HTML 소스는 간단한 텍스트 입력 상자를 들어
, 나는 Keys.TAB를 보내는 경우 :
<td class="optionValue option_sr_test_object_url">
<input id="option_d03e6450-5990-4a31-8e84-5b1af89d2c47_sr_test_object_url" type="text" placeholder="e.g. /path/testobject.html" value="/path/test.html">
</input>
</td>
조금 이상합니다. 아마도 (양식) 코드에 문제가있을 수 있습니다. 그렇다면 테스트는 목적을 수행합니다.) –
데이터를 수동으로 입력 할 때 절대로 발생하지 않습니다. 또는 테스트 중에 탭을 전환하지 않으면 Selenium을 사용하여 데이터를 입력 할 때도 마찬가지입니다. – Selena
나는 본다. 때로는 디버깅 할 때만 감지 할 수있는 JS 오류가있었습니다. 나는 단지 양식 코드를 수정할 것입니다. 또한 JS 이름 중복이 또 다른 아이디어 일 수 있습니다. 아마도 Selenium 스크립트가 양식의 코드와 상호 작용할 수 있습니다. 가능한 경우 양식의 필드 재설정에 대한 함수 이름을 변경하십시오. –