다노샵 & 매거진 영역의 자동화는 어느정도 완성이 되었다 

100% 커버리지 달성은 못했지만 주요시나리오에 대해선 작업이되었다 
자동화가 적용되지못한 영역은 우선 수동테스트로 커버가 가능하기 떄문에 수동테스트로 커버리지를 올리려고한다

 

1. 다노핏 & 다노핏 코치

- 작년 12/27 런칭목표로 열심히 달려왔던 다노핏 & 다노핏 코치 서비스는 내부로직으로만 구성되어있는 서비스라

자동화가 100% 진행될수있을거같아 진행해보려한다 먼저 고려해야될점을 알아보자

 

고려사항

- 유지보수 ( 다노핏 & 다노핏 코치는 신규서비스로 앞으로 기하급수적으로 변화가 찾아올것이다 이에대한 대비가 필요하다 )

- 유저마다 서로다른 결과를 초래할수있다 ( 유저마다 다른 결과값을 가져올수있다 ) 

진행방향

1. 유지보수에 용이하도록 각각의 flow를 메소드화 시켜보도록하자 

- 예를들면 로그인 > 코치매칭 플로우 > 주문서 > 결제 각각의 flow를 메소드화 시켜 필요한 메소드만 호출하여 사용하도록 작업

2. 계정별 세팅 

- 계정별로 다른 결과를 초래할수있기때문에 계정마다 다른 속성을 적용시켜 필요할때마다 사용할수있도록 작업

 

 

재미있을거같다 시작해보자 !! 

'테스트 자동화' 카테고리의 다른 글

테스트 자동화 시작(10)  (0) 2022.01.03
테스트 자동화 시작 (9)  (0) 2021.11.29
테스트 자동화 시작 (8)  (0) 2021.11.26
테스트 자동화 시작 (7)  (0) 2021.11.22
테스트 자동화 시작(6)  (0) 2021.11.22

자동화를 진행하며 우선 자동화를 할수있는 부분과 할수없는 부분에 대해 정리하는 작업이 필요했다.

최소한의 flow로 효율을 끌어내기위해 간략화해서 정리해보았다 

아래는 최소 다노샵의 중요페이지내에 중요기능을 정리했다

<!--br {mso-data-placement:same-cell;}-->

계정 메인 상품상세 장바구니 주문서 마이페이지
통합로그인 공지 팝업 장바구니 담기 새벽배송 배송지 등급혜택
기존회원로그인 롤링배너 공유하기 택배배송 포인트 포인트
카카오로그인 상품 진입 상품후기 도서산간 쿠폰 쿠폰
애플로그인 상품 장바구니 담기 상품문의   예치금 예치금
통합회원가입 상품 검색     결제수단 회원정보
카카오회원가입          
애플회원가입          

여기서 자동화가 구현가능한 항목을 찾아 체크리스트를 선정해 보았다

<!--br {mso-data-placement:same-cell;}-->

페이지 체크리스트
로그인 통합로그인 진행
메인
메인 > 상품검색 > 상품상세페이지 진입
메인
메인 >공지팝업 >상품상세페이지 진입
메인
메인 > 특정상품 장바구니 담기 진행
상품상세페이지 후기 점검
상품상세페이지 상품 Q&A
장바구니 , 주문서
새벽배송 > 주문서 진입 > 포인트 > 결제
장바구니 , 주문서
택배배송 > 주문서 진입 > 쿠폰 > 결제
마이페이지 포인트 조회
마이페이지 쿠폰 등록 및 조회
마이페이지 회원정보 > 배송지

아쉽게도 자동화가 100% 가능한 범위는 위와 같다... 

 

'테스트 자동화' 카테고리의 다른 글

테스트 자동화 시작 (11)  (0) 2022.01.07
테스트 자동화 시작 (9)  (0) 2021.11.29
테스트 자동화 시작 (8)  (0) 2021.11.26
테스트 자동화 시작 (7)  (0) 2021.11.22
테스트 자동화 시작(6)  (0) 2021.11.22

1. 자동화를 진행할 수 없는 영역 발생...

스크립트를 만들며 몇가지 안일했던 사항들이 존재했다...

해결방법을 고민해 보았지만 애초에 자동을 진행할 수 없게 구현된 시스템이기 때문에 컨트롤할 수 있을지는 미지수이다.

- 카카오로그인 : 로봇이 아닙니다. ( 이미지를 어떻게 클릭하지...? 실시간으로 변경되는 이미지를 찾아 클릭해야 한다. )

- 애플로그인 : 인증번호 발송 ( 보유한 단말기로 인증번호를 받아 입력해야 한다 )

- 결제사 모달창모달 창 컨트롤 : 모달 창을 호출 후 컨트롤이 안된다 ㅠ ( 요 부분은 내가 아직 확인 못해본 영역이라 그럴 수도 있다는 점을 감안하자 )

- 카드비밀번호 랜덤 노출 : 와 이건 어떻게 해야 될까... 비밀번호 입력창이 노출될 때마다 랜덤 하게 노출되고 있다.

자동화가 현실적으로 불가능한 부분이 존재했다... 

보안과 정말 기계가 하지 못하도록 처리해놓은 부분이어서 

이러한 부분을 자동화할 수 있을까?? 고민도 되고 된다한들 굉장한 리소스가 필요로 하게 될 거 같다...

'테스트 자동화' 카테고리의 다른 글

테스트 자동화 시작 (11)  (0) 2022.01.07
테스트 자동화 시작(10)  (0) 2022.01.03
테스트 자동화 시작 (8)  (0) 2021.11.26
테스트 자동화 시작 (7)  (0) 2021.11.22
테스트 자동화 시작(6)  (0) 2021.11.22

이제 버튼을 클릭했을때 설정한 python.py 파일이 실행될수 있도록 라이브러리와 코딩을 진행해줘보장

 

2주를 해맨거 같다... 쉽지가 않다

많은 시행착오를 겪었다
개발자분께서 추천해주신 subprocess를 이용해 실행시키려 했지만 도무지 실행이 안된다 계속 path가 잘못되었다는 에러가 발생해 이걸 해결해보느라 일주일을 소비했다.

언제나 살아갈 구멍은 있는법 다른방향으로도 고민해봐야 겠다.

 

1. 또...중간회고

pyqt5를 통해 버튼을 클릭하면 자동화 스크립트가 자동으로 실행되기 까지의  과정을 정말 단순하게 생각한건 큰착각이였다…

개발적 지식이 없는 상태에서는 이건 해결할수없는 문제라는것을 깨닫게된 순간이였다

내가하려고 했던게 이거였나? 스스로 돌아보는 계기가 되었고 내가 할수있는 방향에서 최대한 퍼포먼스를 내야겠다는 생각이들어 방향을 전환하려고한다… 

pyqt5는 잠시 접어두고 다노샵 리그레이션 체크리스트를 활용하여 자동화 시켜보자

 

2. 다노샵 체크리스트

다노샵의 체크리스트는 버전별로 관리하고있다

큰프로젝트가 진행될때 버전업데이트를 하여 유지보수 해오고있었다 

우선순위를 정해 자동화 시켜보자

우선 생각한 방향은

결제 > 상품상세페이지 > 회원 순이다

<!--td {border: 1px solid #ccc;}br {mso-data-placement:same-cell;}-->

회원 구분
상품유형
주문서 인입 유의사항
주문서
주문후 프로세스
배송지 할인/자산 결제방법
다노 포인트 보유 계정 SALE 상품 상품 수량 N개 주문 장바구니 최근배송지 포인트 카드결제 주문취소
쿠폰 보유계정 필수 상품 상품 합주문 상품상세페이지 과거배송지 쿠폰(일반/럭키/스페셜) 네이버페이  
적립금 보유계정 추가구성 상품     직접입력 적립금 휴대폰결제  
예치금 보유계정 배송비 포함 상품     새벽배송지 예치금 실시간 계좌이체  
비회원 도서산간 상품     택배배송지   무통장입금  
  무료배송 상품         차이페이  
  5만원이상 무료배송 상품         카카오페이  
  새벽배송 상품            
               
               

'테스트 자동화' 카테고리의 다른 글

테스트 자동화 시작(10)  (0) 2022.01.03
테스트 자동화 시작 (9)  (0) 2021.11.29
테스트 자동화 시작 (7)  (0) 2021.11.22
테스트 자동화 시작(6)  (0) 2021.11.22
테스트 자동화 시작(5)  (0) 2021.11.22

이제 버튼을 클릭했을때 설정한 python.py 파일이 실행될수 있도록 라이브러리와 코딩을 진행해줘보장

 

2주를 해맨거 같다... 쉽지가 않다

많은 시행착오를 겪었다
개발자분께서 추천해주신 subprocess를 이용해 실행시키려 했지만 도무지 실행이 안된다 계속 path가 잘못되었다는 에러가 발생해 이걸 해결해보느라 일주일을 소비했다.

언제나 살아갈 구멍은 있는법 다른방향으로도 고민해봐야 겠다.

 

1. 또...중간회고

pyqt5를 통해 버튼을 클릭하면 자동화 스크립트가 자동으로 실행되기 까지의  과정을 정말 단순하게 생각한건 큰착각이였다…

개발적 지식이 없는 상태에서는 이건 해결할수없는 문제라는것을 깨닫게된 순간이였다

내가하려고 했던게 이거였나? 스스로 돌아보는 계기가 되었고 내가 할수있는 방향에서 최대한 퍼포먼스를 내야겠다는 생각이들어 방향을 전환하려고한다… 

pyqt5는 잠시 접어두고 다노샵 리그레이션 체크리스트를 활용하여 자동화 시켜보자

 

2. 다노샵 체크리스트

다노샵의 체크리스트는 버전별로 관리하고있다

큰프로젝트가 진행될때 버전업데이트를 하여 유지보수 해오고있었다 

우선순위를 정해 자동화 시켜보자

우선 생각한 방향은

결제 > 상품상세페이지 > 회원 순이다

<!--td {border: 1px solid #ccc;}br {mso-data-placement:same-cell;}-->

회원 구분
상품유형
주문서 인입 유의사항
주문서
주문후 프로세스
배송지 할인/자산 결제방법
다노 포인트 보유 계정 SALE 상품 상품 수량 N개 주문 장바구니 최근배송지 포인트 카드결제 주문취소
쿠폰 보유계정 필수 상품 상품 합주문 상품상세페이지 과거배송지 쿠폰(일반/럭키/스페셜) 네이버페이  
적립금 보유계정 추가구성 상품     직접입력 적립금 휴대폰결제  
예치금 보유계정 배송비 포함 상품     새벽배송지 예치금 실시간 계좌이체  
비회원 도서산간 상품     택배배송지   무통장입금  
  무료배송 상품         차이페이  
  5만원이상 무료배송 상품         카카오페이  
  새벽배송 상품            
               
               

'테스트 자동화' 카테고리의 다른 글

테스트 자동화 시작 (9)  (0) 2021.11.29
테스트 자동화 시작 (8)  (0) 2021.11.26
테스트 자동화 시작(6)  (0) 2021.11.22
테스트 자동화 시작(5)  (0) 2021.11.22
테스트 자동화 시작(4)  (0) 2021.10.02

도무지 이슈 해결이 되지않아 결국 개발자분의 힘을 빌리기로 했다.

10분만에 해결이되었다… 현타가 쎄게 왔다

원인은 환경변수 설정에
QT_PLUGIN_PATH 설정만 해준것이 원인이였다 한가지 더설정해줘야되는 부분을 개발자분이 캐치해주셨다
QT_QPA_PLATFORM_PLUGIN_PATH 설정을 진행해주니 정상적으로 동작했다 개발자분께 너무 감격한 나머지 껴안았는데 정색을 했다… ㅎㅎ;

1. 버튼 생성

버튼을 생성해보자 클릭할수있는 버튼을 생성해서 버튼 클릭시 기존에 만들어 두었던 매거진 영역의 자동화가 자동으로 실행될수있도록 구현해보자

 

버튼생성을 진행했다 근데… 버튼을 생성했는데 창의 크기와 버튼을 크기가 이쁘지않다 음음… 구글링을 좀더해봐야겠다 이왕이면 이쁘게 나왔으면 좋겠다.

 

btn.resize 라는 명령어를 찾을수 있었다 해당 명령어는 버튼에 입력된 글자를 기준으로 적당히 크기를 조절해주는 메소드? 명령어?인것 같다

조금 달라지긴 했지만...뭐지 여전히 안이쁘다

버튼 위치를 조정해보자

 btn.move(20 , 30) 라는 명령어를 찾을수있었다.

x,y 값을통해 버튼을 이동시켜주는 명령어인거같다

2. 창크기 조절

음… 버튼은 여기까지 마무리하고
창크기를 조절해보자 
self.setGeometry()
라는 명령어를 찾을수있었다 해당 명령어에 위쪽,아래쪽,가로,세로 값을 설정해줄수있다

실행했을때 python 으로 보여지는 창에 name을 변경해주고 싶다 다노 자동화 요것으로 변경해보자
self.setWindowTitle
명령어를 사용하면 된다. 해당명령어에 원하는 이름을 설정해보자 
조금 괜찮다

이제 버튼을 클릭했을때 설정한 python.py 파일이 실행될수 있도록 라이브러리와 코딩을 진행해줘보장

'테스트 자동화' 카테고리의 다른 글

테스트 자동화 시작 (8)  (0) 2021.11.26
테스트 자동화 시작 (7)  (0) 2021.11.22
테스트 자동화 시작(5)  (0) 2021.11.22
테스트 자동화 시작(4)  (0) 2021.10.02
테스트 자동화 시작(3)  (0) 2021.09.21

1. 중간 회고

요근래 백신2차접종… 인테리어 공사 등 개인적인 일들이 너무많아 제대로 진도를 나가지 못했다 오랜만에 보니 너무 낯선느낌이다 낯설지않도록 자주보는 습관을 가져야겠다.

Django로 구현하려고했던 기능은… 구현하지 못할거같다… 내가 원하던 그림이 전혀 나오지않을거같았다 아무리 구글링을 해서 찾아봐도 찾기가 쉽지않았다. 

Django를 통해 내가 원하는 스크립트를 설정해두고 실행시켜 결과값까지 얻는 과정을 만들어볼 계획이였으나 Django로 구현하기에는 비개발자인 상태에서는 턱없이 부족해보였다 분명가능하겠지만 나는 빠른시일내에 빠른결과를 얻고싶어 다른 루트의 개발방향을 고민하고있었다… 

그때 다노의 한개발자분이 추천해준 PyQt 프레임워크를 알게되었는데 설명을 들어보니 내가 원하는 답이 나올수있을거같아보였다. 

PyQt로 구현해보자

 

2. PyQt5 를 설치해보자

설치 방법은 매우간단했다 
명령어 : pip install pyqt5 를 입력해주면된다.

pyqt5의 기본 코드를 작성해본다.

우선 첫번째로 기본으로 사용되는  import 정보들을 세팅해주자
QApplication, QWidget << 무조건 불러와야한다(이유는 알지말자 피곤해진다 대략 기본구조를 잡아주는 것일듯)

기본 코드 작성은 완료되었다 이제 실행을 해야되는데… 음음 실행을 어케해야될지 알아봐야겠다

실행을 했을때 아래와 같은 에러가 발생했다.

원인은 경로설정에 문제라고해서 방법을 찾아보았다

3. 이슈 해결 방법

방법은 아래와 같다

  1. 고급 시스템 설정 
  2. 환경변수
  3. 새로만들기 
  4. 변수이름 : QT_PLUGIN_PATH
  5. 변수값 : C:\Users\NotePC\OneDrive\바탕 화면\자동화\automadition1\selenium\Lib\site-packages\PyQt5\Qt5\plugins\platforms ( 자신에게 맞는 경로를 설정해 주어야 한다 )

잠만… 이렇게 했는데도 오류가 났다 다른방법을 찾아봐야겠다 ㅠㅠㅠ

다른 방법은 아래와 같다

  1. platforms 폴더를 복사
  2. 실행파일이 있는 폴더에 붙여 넣어본다

이래도… 안된다 큰일이다… 음…

 

'테스트 자동화' 카테고리의 다른 글

테스트 자동화 시작 (7)  (0) 2021.11.22
테스트 자동화 시작(6)  (0) 2021.11.22
테스트 자동화 시작(4)  (0) 2021.10.02
테스트 자동화 시작(3)  (0) 2021.09.21
테스트 자동화 시작(2)  (0) 2021.09.05

1. Django를 통해 모델만들기

- 이제 자동화 스크립트를 돌릴 모델이 필요하다 

모델에 test1 이라는 클레스 파일에 name 이라는 필드를 하나 생성해주자

- 그다음 installed_apps에 생성해둔 모델을 사용할수있도록 넣어주자

- 어드민 메인페이지에 노출시켜야되니 어드민쪽에서 생성된 model을 넣어주도록 하자

- 마지막으로 생성된 DB값이 업데이트 될수있도록 마이그레이션을 진행해주자

- python manage.py makemigrations << 마이그레이션 파일 생성

- python manage.py migrate << 반영

- Test1s 라는 모델(애플리케이션) 하나가 생성되었다 휴휴... 이제 이걸 어떻게 사용해야되는지 숙지해보자 음음...

 

'테스트 자동화' 카테고리의 다른 글

테스트 자동화 시작(6)  (0) 2021.11.22
테스트 자동화 시작(5)  (0) 2021.11.22
테스트 자동화 시작(3)  (0) 2021.09.21
테스트 자동화 시작(2)  (0) 2021.09.05
테스트 자동화 시작!!  (0) 2021.08.28

+ Recent posts