웹 애플리케이션은 디지털 영역에서 타겟 청중과 연결하고 서비스를 제공하는 고급 방법을 모색하는 기업에 필수적입니다. 오늘날 비즈니스 운영에서 웹 앱의 중요성을 감안할 때 업계에 관계없이 웹 앱은 고급 사용자 경험을 제공하는지 포괄적으로 테스트해야합니다.
자동화 테스트는 소프트웨어 개발 수명주기를 가속화합니다. 또한 BDD (Behavior Driven Development) 접근 방식을 개발에 채택하면 개발자, QA 및 비 기술 팀과 같은 다양한 이해 관계자가 프로젝트에서 적극적으로 협력 할 수 있습니다.
시나리오는 예상되는 동작을 기반으로 작성됩니다. 해당 시나리오와 일치하는지 확인하기 위해 테스트되었습니다.
이미지 소스
이러한 시나리오는 Gherkin과 같은 도메인 특정 언어를 사용하여 문서화됩니다. 각 테스트 시나리오에서 작은 영어와 유사한 구문을 구성하는 자연어 구성은 애플리케이션의 동작과 예상되는 결과를 설명하는 데 사용됩니다. 이는 Gherkin으로 작성된 자동화 된 승인 테스트를 실행할 수있는 Cucumber와 같은 전용 소프트웨어 도구를 사용하여 수행됩니다.
Cucumber 란 무엇입니까?
Cucumber는 오픈 소스 테스트 프레임 워크입니다. 웹 애플리케이션의 자동화 테스트를위한 행동 중심 개발을 지원합니다. 테스트는 먼저 사용자 관점에서 시스템의 예상되는 동작을 설명하는 간단한 시나리오 형식으로 작성됩니다.
수락 테스트에 드물게 사용되는 Cucumber는 Ruby로 작성되고 테스트는 Gherkin으로 작성됩니다. 비 기술적이고 사람이 읽을 수있는 언어입니다.
Cucumber 및 Selenium 테스트 : 협업 접근 방식
자동화 된 Selenium 테스트는 개발주기에 정확성과 속도를 추가하는 반면 Cucumber는 추가 우위를 추가합니다. 비 기술적 인 관리 이해 관계자들과 더 협력 적으로 만들 수 있습니다. 테스트 시나리오가 주로 동작에 의해 주도되는 사용자 수락 테스트에 널리 유용한 Cucumber는 자동화 테스트를 강화합니다.
Cucumber 프레임 워크
Cucumber 프레임 워크는 주로 기능 파일, 단계 정의 및 테스트 실행기 파일
기능 파일
독립형 단위 또는 프로젝트의 단일 기능 (예 : 로그인)을 기능이라고 할 수 있습니다. 이러한 각 기능에는 Cucumber와 통합 된 Selenium을 사용하여 테스트해야하는 시나리오가 있습니다. 기능, 설명 및 테스트 할 시나리오에 대한 데이터를 저장하는 파일을 기능 파일이라고합니다.
Cucumber 테스트는 “.feature”확장자로 저장되는 이러한 기능 파일에 작성됩니다. . 문서를보다 쉽게 읽을 수 있도록 기능 파일에 설명을 제공 할 수 있습니다.
예 :
웹 사이트의 로그인 기능
기능 파일 이름 : userLogin .feature
설명 : 사용자는 올바른 필드에 올바른 사용자 이름과 비밀번호를 입력하면 로그인 할 수 있어야합니다. 입력 한 사용자 이름과 비밀번호가 올바른 경우 사용자는 홈페이지로 이동해야합니다.
Cucumber에서 테스트를 작성하는 데 사용 된 GIVEN, WHEN, THEN과 같은 키워드를 주석이라고합니다.
- GIVEN 사용자는 Firefox를 열어 로그인 페이지로 이동합니다.
- 사용자가 올바른 < 사용자 이름 > 및 < 비밀번호 값
- THEN 사용자가 t로 이동합니다. he 홈페이지
단계 정의
이제 기능이 기능 파일에 작성되었으므로 관련 시나리오에 대한 코드를 실행해야합니다. 주어진 시나리오에 대해 실행해야하는 코드 배치를 알기 위해 단계 정의가 그림에 나타납니다. 단계 정의 파일은 기능 파일에 정의 된 시나리오의 각 단계와 실행될 코드 사이의 매핑 데이터를 저장합니다.
단계 정의는 매핑을 위해 작성된 Java 함수에 대해 Java 및 Selenium 명령을 모두 사용할 수 있습니다. 기능 파일을 코드에 추가합니다.
예 :
package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values as inputs to define the WHEN step of the feature@Then ("^user gets directed to homepage$”)//Direct to the Homepage of the application as a result of correct username and password inputs in the WHEN step. This would define the THEN step of the feature
테스트 실행기 파일
테스트를 실행하려면 단계 정의 위치와 테스트를 실행하는 데 필요한 기타 기본 메타 데이터가 포함 된 JUnit 테스트 실행기 클래스 인 테스트 실행기 파일이 필요합니다.
테스트 실행자 파일은 JUnit의 @RunWith () 주석을 사용합니다. 테스트 실행. 또한 @CucumberOptions 주석을 사용하여 기능 파일, 단계 정의,보고 통합 등의 위치를 정의합니다.
예 :
기능 파일과 함께 cucumberTest 패키지의 테스트 러너 클래스 “src / test / Feature”위치 및 “src / main / stepDefinition”폴더의 단계 정의 파일에 있습니다.
Cucumber 프레임 워크 설정
Cucumber 작동 방식 및 작성 방법을 살펴보기 전 Cucumber Selenium 테스트, 먼저 Cucumber를 설정하는 방법을 알아 봅시다.Cucumber 자동화 테스트를 시작하기 위해 아래에 언급 된 전제 조건을 설치하기 만하면됩니다.
Cucumber 및 Selenium 설정을위한 전제 조건
- Java 설치
- 설치 Java 용 Eclipse IDE
- Maven 설치
- Selenium Webdriver 설치
- JUnit 설치
- Cucumber 설치
Selenium 자동화를 위해 Cucumber에서 테스트를 작성하는 방법은 무엇입니까?
로그인 기능 시나리오를 진행하면서 Cucumber에서 샘플 테스트를 작성해 보겠습니다. 이 코드는 기능 섹션에 설명 된 로그인 시나리오를 실행하고 올바른 사용자 이름과 비밀번호를 입력하면 웹 사이트 홈 페이지를 엽니 다.
Cucumber 테스트 모범 사례
다음은 일부입니다. Cucumber 테스트의 모범 사례 :
- Cucumber-java, Cucumber-junit 및 Cucumber-core jar의 버전은 원활한 연결을 위해 동일해야합니다.
- 추가 테스트가 실패 할 때 스크린 샷을 캡처하는 코드에 연결하면 문제를 진단하고 디버깅하는 데 도움이 될 수 있습니다.
- 태그 정의에 따라 테스트를 구성하려면 태그를 사용하세요. 모든 테스트를 매번 실행할 필요가없는 경우에 도움이됩니다. 이러한 테스트는 태그를 사용하여 표시 할 수 있으며 필요한 경우에만 실행할 수 있습니다. 이렇게하면 시스템과 리소스의 시간과 처리 용량이 절약됩니다.
- 항상 그렇듯이 실제 브라우저와 기기에서 Cucumber Selenium 테스트를 실행하는 것이 중요합니다. BrowserStack은 테스트 목적으로 실시간 및 자동화 된 2000 개 이상의 실제 브라우저 및 장치로 구성된 Cloud Selenium Grid를 제공합니다. 가입하고 필요한 기기-브라우저 -OS 조합을 선택하고 웹 사이트를 무료로 테스트하기 만하면됩니다.
무료로 Selenium 테스트 실행
테스트 자동화는 테스터에 대한 빠른 배송 및 최적의 품질에 대한 증가하는 요구 사항을 충족합니다. Selenium의 Cucumber 프레임 워크를 사용하면 주어진 시나리오에 대한 소프트웨어의 예상 동작을 설명하는 자연어 구조를 사용하여 테스트 시나리오를 작성할 수 있으므로 사용자 승인 테스트에 이상적입니다.
마지막으로 실제 장치에서 웹 사이트 테스트 클라우드는 결과의 완전한 정확성을 보장하는 유일한 방법입니다. 따라서 항상 실제 기기 테스트를 선택하여 웹 사이트 성능, 교차 브라우저 호환성 및 제공하는 사용자 경험의 품질을 종합적으로 확인하세요.