문제

우리는 a 셀렌 큰 웹 응용 프로그램에서 테스트 캠페인. 우리가 한 첫 번째 일은 테스트 전에 데이터베이스에서 SQL 데이터를 초기화하고 테스트, 아카이브 결과를 시작한 다음 데이터를 지우는 프레임 워크를 구축하는 것이 었습니다.

우리는 그것을 Maven 2 프로세스에서 매일 달리는 것을 통합했습니다. TeamCity 전용 데이터베이스에서.

우리는 지금 몇 가지 셀레늄 테스트를 설정했지만 계획대로 사용되지는 않습니다.

이유는 회귀 분석 이외의 다른 이유로 테스트가 파손되기 때문입니다 (데이터가 변경되었을 수 있으며 저장된 절차가 다시 컴파일되었을 수 있음).

사용자 인터페이스 테스트에서 큰 성공이 있는지 알고 싶습니다. 그렇다면 그 이유를 알고 싶습니다. 커먼즈 오류도 나에게 관심을 가질 수 있습니다.

도움이 되었습니까?

해결책

테스트 성은 많은 도움이됩니다. 웹 앱에서 테스트 가능성에 대한 가장 큰 승리는 페이지에서 상호 작용 해야하는 모든 HTML 요소가 독특하고 일관된 속성. HTML 요소 (Selenium 사용 XPath)를 식별하는 데 사용하는 속성이 빌드에서 건물에서 건물로 일관되거나 신뢰할 수없는 경우 테스트 스크립트가 실패합니다. 또한 이러한 속성은 고유해야하므로 자동화 도구 (이 경우 셀레늄)가 웹 페이지에서 객체를 안정적으로 찾을 수 있습니다.

다른 팁

신뢰할 수있는 단위 테스트를 원한다면 동일한 입력이 필요합니다. 데이터베이스의 시작 입력입니다. 따라서 매번 동일한 시작 데이터베이스가 있어야합니다. 물론, 다른 점으로 테스트를하고 싶다면 입력, 다른 단위 테스트를 만들어야합니다 (결과는 분명히 동일하지 않기 때문에).

이런 일을 할 때는 항상 동일한 데이터베이스를 시작점으로 사용합니다. 물론, 일부 테스트는 데이터베이스를 수정하지 않고 실패 할 수 있으므로 다른 후속 테스트는 그렇지 않더라도 실패 할 수 있습니다. 단위 테스트 도구가 허용되면 '부모'가 실패 할 때 테스트가 전혀 실행되지 않도록 테스트 간의 종속성을 정의해야합니다.

스타일링이 페이지에 추가되기 전에 작업 할 수있는 추가 이점이있는 http-unit을 사용합니다.

http://httpunit.sourceforge.net/Maven2의 통합 테스트 단계에서 테스트를 첨부하여 실행할 수 있습니다.

사이트에서

Java로 작성된 HTTPUnit은 양식 제출, JavaScript, 기본 HTTP 인증, 쿠키 및 자동 페이지 리디렉션을 포함하여 브라우저 동작의 관련 부분을 모방하며 Java 테스트 코드가 텍스트, XML DOM 또는 양식의 컨테이너로 반환 된 페이지를 검사 할 수 있습니다. , 테이블 및 링크.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top