셀레늄 (junit 또는 testng)으로 구조화 된 자동 테스트를 만드는 방법은 무엇입니까? 이것에 대한 모범 사례는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1326783

문제

기능 테스트를 위해 셀레늄을 사용하는 테스트를 작성했습니다. 나는 Java를 사용하고 있습니다. 테스트 사이에 구조를 만들 수 있기를 원합니다. Junit 또는 Testng와 함께 할 수 있습니까?

다음과 같은 보고서를 작성하는 테스트 구조를 만들 수 있기를 원합니다.

Top test FAIL
- Module1 test PASS
-- Module1Class1 test PASS
-- Module1Class2 test PASS
--- Module1Class3Method1 test PASS
--- Module1Class3Method2 test PASS
- Module2 test FAIL
-- Module2Class1 test FAIL
--- Module2Class1Method1 test PASS
--- Module2Class1Method2 test FAIL
--- Module2Class1Method3 test PASS
도움이 되었습니까?

해결책 5

방금이 질문에 대한 해결책을 찾았으므로 다른 사람들이 혜택을받을 수 있도록 여기에 링크를 넣습니다.beust.com 그래도 아직 시도하지 않았습니다.

업데이트:시도한 후에는 다음과 같은 결과를 생성 할 수 있습니다.

Module1.Class3.Method1 PASS
Module1.Class3.Method2 PASS
Module2.Class1.Method1 PASS
Module2.Class1.Method2 FAIL
Module2.Class1.Method3 PASS

실패 메소드 이름은 "method2"이며 클래스 "class1"에 있으며 패키지 "module2"입니다.

TestNG (많은 IT)의 모든 표준 가능성을 사용했습니다.

그것은 실제로 내가 찾고 있던 구조는 아니지만, 약간의 구문 분석은 실패가 어디에 있는지 알려줄 수 있습니다. 그리고 플러스로서 나는 클래스와 패키지 이름이있는 메소드의 이름을 지정할 필요가 없습니다.

다른 팁

셀레늄 테스트 뒤에 코드를 구성하기 위해 본 가장 좋은 패턴은 페이지 객체 패턴입니다.

http://blog.m.artins.net/acceptance-tests-with-jbehave-selenium-page-objects/

자바 헬퍼 라이브러리는 다음과 같습니다.

http://code.google.com/p/webdriver/wiki/pagefactory

셀레늄이 테스트를 해석하는 형식이 아니기 때문에 당신은 할 수 없습니다. Selenium은 몇 가지 다른 언어 구문을 지원하며 가장 쉬운 것은 JS 및 HTML 테이블 행입니다. 특정 언어 구문에 맞게 테스트를 직접 작성하지 않으려면 Firefox의 Selenium IDE의 레코드 기능을 사용할 수 있습니다.

셀레늄 원격 제어 사용을 고려 했습니까?http://seleniumhq.org/projects/remote-control/

Junit 또는 TestNG XML 보고서를 보는 것이 좋습니다. 필요한 형식의 새로운 HTML 보고서를 제공하기 위해 약간의 XSLT로 변환 할 수 있어야합니다.

testng에서는 필요에 맞는 구성 파일 (testng.xml)을 통해 스위트를 정의 할 수 있습니다. 모든 모듈에 대한 테스트 그룹이 있도록 구성 할 수 있습니다. 테스트 그룹의 실패는 전체 테스트를 실패로 만듭니다. 그러나 나는 당신이 너무 익숙하지 않은 Junit에서도 그렇게 할 수 있다고 생각합니다.

testng에서 좋은 점은 종속성을 정의 할 수 있다는 것입니다. 이들은 테스트 실행을위한 특정 논리적 순서를 시행하고 테스트 실패에 의존하는 테스트를 건너 뛰는 대신에도 실패하지 않습니다. 잠재적으로 실패 할 때의 모든 테스트가 제쳐두 지 않기 때문에 분석을 훨씬 쉽게 만들고 테스트가 더 일찍 끝납니다.

그러나 앞서 말했듯이, 나는 당신이 Junit에서도 그렇게 할 수 있다고 생각합니다. 더 맛의 문제입니다. 그리고 당신이 달리 결정한다면, 주니트에서 테스트 나 비자로 전환하는 것은 큰 사업이 아닙니다.

내가 여기에 있는지 확실하지 않습니다. 그러나 이것이 당신을 도울 수 있다고 생각합니다.http://www.jamesnetherton.com/blog/2007/07/02/creating-a-selenium-test-suite/

매우 쉬운 방법으로 테스트를 그룹화 할 수 있습니다.

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