- https://www.oracle.com/java/technologies/downloads/
- 위 페이지에서 자신의 OS에 맞는 최신 버전 설치
- IntelliJ - Project Structure - Project SDK - Add SDK를 통해 설치해도 됨. JDK 16 설치 권고
https://justinadpark.tistory.com/173
- windows 기준
- 개인 업무용(개발용) PC에 프로젝트를 관리할 폴더 생성
- Windows + R 엔터
- cmd 엔터
- cd {위에서 만든 폴더}
- 폴더 변경 확인 : 만약 C: 드라이브가 아닌 다른 드라이브에 폴더를 만들었으면 해당 드라이브로 이동 예) d: 엔터
- clone https://github.com/Justin-ad-Park/selenium-Sample.git
+ 추가 방법은 path 설정 방식과 동일
+ QAPWD 변수값에 비밀번호 등록
+ 환경 변수 확인(터미널, 또는 커맨드 쉘에서)
* Mac : echo $QAPWD
* Windows : echo %QAPWD%
git clone 원격_저장소_경로
git branch feature/{id}_yymmdd
git checkout feature/{id}_yymmdd
git branch feature/{브랜치명} -d
git push --set-upstream selenium-sample feature/justin_230509
git status
git add . //수정한 전체 소스 반영
git add 파일명 //지정한 소스만 반영
git commit -m "주석" //로컬에 수정한 소스 커밋
git push //원격 저장소에 git 반영
git reset --hard
- https://github.com/Justin-ad-Park/selenium-Sample/
- [Pull requests] 탭 클릭
- [New Pull Request] 버튼 클릭 (우측 상단)
- base, comare 선택
- base: Pull 대상, 보통 master 브랜치 선택
- compare : 수정한 소스가 있는 브랜치 (보통 feature 브랜치)
- [Create pull request] 버튼 클릭
- 내용 입력
- 제목, 본문 리뷰어가 어떤 소스를 반영하는지 이해하기 쉽도록 입력
- [Create pull request] 버튼 클릭
- 2명 이상이 머지를 승인해야 머지 가능
- Master에 머지된 소스는 각 개별 feature 브랜치에는 반영되지 않음
- 현재 브랜치는 내 브랜치에서 시작
- Master 브랜치 소스를 머지(가져오기) 하려면 git merge master
- 셀레늄 테스트 프로퍼티란? 테스트에 사용되는 값으로 자주 사용되며, 테스트 상황에 따라 변경 가능성이 있는 값
- application.yml 에 프로퍼티 등록이 가능하다.
- 테스트에 사용할 프로파일 그룹은 spring.profiles.active의 값으로 지정한다.
spring:
profiles:
active:
- canshop # 테스트 환경 선택
- 프로퍼티 그룹은 하나 또는 그 이상의 프로파일을 등록할 수 있다.
group: # 테스트 환경 선택
qa:
- common
- qashop
canary:
- common
- canshop
- 프로파일은 아래와 같이 --- 로 시작하며, spring.config.activate.on-profile에 이름을 지정한다.
--- #qashop 설정
spring:
config:
activate:
on-profile: "qashop"
- 프로파일에는 여러 프로퍼티를 등록할 수 있다.
- 프로퍼티는 다음과 같이 등록한다.
- 들여쓰기를 통해 계층(hierarchy)를 만들어 프로퍼티를 묶는다.
- 값은 -에 넣거나, : 우측에 공백문자를 하나 입력한 후 값을 입력한다.
- 문자열은 공백 인식 등을 위해 가급적 ""으로 묶는다.
- ,를 이용해 하나의 프로퍼티에 여러 값을 배열로 등록하는 것도 가능하다.
- 프로퍼티는 다음과 같이 등록한다.
shop:
front-url: "https://qashop.pulmuone.online/"
basketCoupon: 123,456,789
spring:
profiles:
active:
- qa # 테스트 환경 선택
- 이 경우 yml에 선언된 spring.prifiles.active 보다 우선순위가 높게 인식된다.
@ActiveProfiles("qa")
@SpringBootTest(classes = SeleniumApplication.class)
@EnableAutoConfiguration
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class TAMemberLogin extends SeleniumSupporter {
- SeleniumSupporter 클래스에 @ActiveProfiles("{프로퍼티그룹명}")를 지정하는 것도 가능하다.
- [주의]SeleniumSupporter는 모든 테스트 클래스의 부모 클래스로 테스트 클래스에 선언된 @ActiveProfiles 보다 우선순위가 높게 인식된다.
- static 변수에 자동으로 바인딩 시키는 방법
- static 으로 변수를 선언한다.
- 변수의 이름은 대문자와 언더스코어(_)로 만든다.
- public void set메소드에 @value 어노테이션으로 프로퍼티에 정의된 값을 할당한다.
- 어노테이션 지정 방식은 다음과 같다. - @value("${프로퍼티명}")
- @value에 프로퍼티 이름을 지정할 때는 계층(들여쓰기, hierarchy)은 .으로 구분한다.
- set 메소드명은 set + static 변수명의 각 언더스코어 사이의 문자를 첫글자만 대문자, 나머지 소문자로 붙여서 만든다.
- 예를 들어 SHOP_FRONT_URL이면 메소드명은 setShopFrontUrl 로 만들어야 한다.
- static 으로 변수를 선언한다.
shop:
front-url: "https://canshop.pulmuone.online/"
values: 123,456,789
public class ZetcTest extends SeleniumSupporter {
@Autowired
Environment environment;
//단일 값 바인딩 선언
public static String SHOP_FRONT_URL;
// 프로퍼티 바인딩
@Value("${shop.front-url}")
public void setShopFrontUrl(String value) {
SHOP_FRONT_URL = value;
}
- static 변수에 배열을 바인딩 시키는 방법
- 배열은 문자열이면 List, 정수면 List로 선언한다.
public static List<Integer> VALUES;
@Value("${shop.values}")
public void setValues(List<Integer> values) {
VALUES = values;
}
- 테스트 클래스는 test.java.selenium 하위에 각 업무 도메인별 패키지에 구성한다.