우리는 자동 테스트를 사용하여 웹 응용 프로그램의 기능을 확인합니다. 테스트 사례의 주장을 덜 복잡하고 융통성있게하기 위해 테스트 코드가 페이지의 요소를 찾고 검증하는 데 도움이되는 'TestIDs'즉 HTML 마크 업에 ID가 도입되도록 고려하고 있습니다. 또한이 TestID는 페이지의 제한된 데이터로 인해 현재 불가능한보다 구체적인 통합 테스트를 허용합니다.HTML 마크 업에서 테스트 자동화를위한 테스트 ID는 무엇입니까?
그러나, 여기에 우리가 주저 무엇을 만드는 것입니다 :
- 도입 테스트 ID는 이 (가)
- 보안을 테스트하기 위해 테스트 변경을 의미합니다 - 우리가 내부 도메인 개체 ID 및 기타 정보를 공개 할 것이라고 그렇지 않은 것 페이지에 표시되지 않음
- 표준 - 우리가 의도 한 의미 론적 사용을 위반할 가능성이있는 마크 업에 TestID를 입력하는 방법에 따라 요소 또는 속성 (예 : 등 'ID'또는 '클래스의 속성, 다른 HTML 요소)
- 간섭 - TestIDs 사용자에게 불필요한 마크 업 (이다)와 (페이지 크기를 증가 - TestIDs가 응용 프로그램 코드와
- 성능을 방해 할 수 큰 페이지에서만 의미가 있음)
테스트/스테이징 HTML 제한은 프로덕션에서 사용되는 코드를 테스트하고 테스트/스테이징을 원하지 않기 때문에 좋은 생각으로 보이지 않습니다. 환경이 다르게 행동해야합니다. 사실, 우리는 현재 릴리스 후에 라이브 시스템에 대해 테스트 스위트의 일부를 실행합니다.
당신은 TestID가 좋은 생각이라고 생각합니까? 그렇다면 어떻게 마크 업에 넣을까요?
내가 무슨 말 증명하기 위해 일부 샘플 마크 업 :
<!-- this test id allows an integration test to verify that
the carrot 188271 is in fact green but exposes the id to the user -->
<tr id="testid-carrot-id-188271">
<td class="color">green</td>
<td class="size">doesn't matter</td>
</tr>
우리 사이트 * 매우 * 역동적이며 (사용자 정의!), 안정적이고 안정적인 XPath 표현을 찾아 내 (테스트!) 매우 어렵게 만듭니다. –