2 분 소요

2024.09.03.화

Caller랑 Scheduler 하는 방식을 바로 적용해서 사용할거다

[주식, 날씨 QA]

소스 코드 수정 내용 설명

apps에서 mail_content 부분 확인

  • value에 메일 자체의 내용이 들어가 있어야 한다
  • 이슈가 있으면 메일 내용을 바꿔 달라는 경우가 있으니까 (소스 수정을 못하니까)
  • Config로 받아오는 것은 의미가 없는 것이다
  • 날씨마다 따로 있으면 그런 애들 별로(케이스 4개) constant를 따로 따로 만들어야 하는데 지금은 의미가 없다

Caller랑 Scheduler 돌리는 거 보여드림

Scheduler

이름 : Scheduler_TK002_날씨주식정보가져오기

Caller도 마찬가지로

Caller부터 써야 한다

프로세스코드 설정에서 소스코드 볼사해주고 데스크톱용에서 Change connaction(연결참조)을 해줘야 한다

Connection Name NHS_Machine 머신 또는 그룹 HSU

도메일 및 사용자 이름은 whoami 쳐서 나오는 것: azured\노현수

데스크톱 흐름은 선택하고 유인 모드로. 프로세스 코드는 ProcessCode 선택하고 json()이라고 치고 그 안에 Config 누르면 들어감. In_Dic_Config 부분에.

PA에서 머신 탭을 보면 머신이 연결됨

상단에 게시 버튼을 누르면 원래 되는 게 맞는 것 같은데 오류 남


Output 폴더는 유동적으로 변경이 되니까 굳이 쓰지 않아도 된다

메일 제목 같은 경우에 RPA0004 라고 써있는 부분이 잘못됐다. TKT001이라고 지정을 했으니까 이런 경우에는 PDD를 고쳐야 하는 것이다.

템플릿 폴더 패스를 input에 가지고 와서 해야 함. apps에 등록을 하는 것이 아니라 원드라이브나 share~~에 넣었다가 그 파일을 변수에 넣고 사용

책임님 코드

RecodeTransactinoResult는

트랜잭션의 결과를 기록한다는 뜻

기본이 9줄인데 책임님 코드는 100줄이다.

작업에 실패든 성공이든 무조건 들르는 곳이다

SetTransactionData에 테이블에 작업 결과와 비고 란을 만들어서 트랜잭션에 성공하면 O, 실행하지 못하면 에러를 가지고 올 수 있으면 비고에 넣고 못 넣으면 공백, BRE는 작업 예외, NoRetry일 때 등등 직접 설정하심

과제마다 수정할 수 있는 것은 본인이 넣을 수 있다. 내 트랜잭션이면 한 줄씩 남겨야겠다. 실패한 트랜잭션이면 메일 담당자한테 보내야겠다 하면 또 넣고. 등등

여기서 에러가 나면 안된다. 메일 발송 대신 SMTP를 쓴다든가. 실패하면 메인으로 들어가서 트랜잭션이 돌지가 않는다!!

엑셀같은 경우도 부분 Retry를 넣는다. 실패하면 죽이고 시작하도록, 일정 횟수면 그냥 날려버리는 걸로

밖에서 throw할 수 있도록 함

SMTP 같은 경우에는 서버가 갑자기 응답이 안될 수도 있다.

트랜잭션 Result랑 트랜잭션이랑 무슨 차이

트랜잭션 Result는 건드리면 안된다.

재시도일 때마다 보내는 것이 아니라 진짜 마지막 재시도일 때 메일을 보내는 경우 등 그럴 떄 RecodeTransactinoResult이 부분에 넣는다

메일을 받았을 때 메일 제목이랑 내용이랑 파일 이름, 파일 확장자, 파일을 열었을 때 데이터 이런 것을 봐야한다

이게 아닐 경우에는 제목이 맞지 않습니다, 본문이 맞지 않습니다. 이런 것들 다 맞게 넣어줘야 한다

그 파일에 작성을 해서 메일을 보내준다

엑셀 파일에 대한 검증이 필요하다

작업 구분에는 신청, 취소 이렇게 들어가고 상품명, 주문수량, 옵션 URL은 쿠팡에서 신청하고 취소하는 그런 작업인데 메일 양식은 따로 전달

메일 양식 작성하고 저기에 있는 상품을 신청, 시간이 되면 취소.

상품명은 상품이름 들어가고 옵션은 옵션을 선택하는 애들이 있을 수도 있다. 쿠팡같은 곳에서 몇 그램에 몇 개 이런 식으로 내가 선택한 옵션이 뭔지. URL은 그 제품에 대한 URL

상품과 URL 일치하는지. 옵션이 있는지. 상품명, 옵션, URL 다 확인해서 있으면 장바구니 하고 없으면 비즈니스 예외처리를 해서 메일 처리를 해야한다

Constant로 금액 제한을 줄 거다. 3~5만원 정도.

우리가 해야하는건 그 금액이 초과되면 초과됐다는 알림(장바구니에는 담지만 알림 띄우기)

쿠팡 아이디로 로그인을 해서 하면 된다.

장바구니에 원래 담겨있는지를 봐야한다. 원래 담겨있는데 또 담으면 수량이 *2가 되니까(?)

그 계정을 시작했을 때 장바구니가 비어있다는 보장이 없음

내가 넣은 상품만 얼마인지. 원래 있던 것을 빼고

발신자한테 메일 발송으로(고정된 수신자가 아님. 신청된 사람한테)

1,2,3,4가 있으면 다 돌긴 도는데 3때문에 안들어가면 빼고 4를 넣어서 한계에 최대한 맞춰서 장바구니에 담는 것을 할 수 있나…

반복문 돌려서 list에 넣어서 하나씩 넣고 뺴고 해서 3만원에 근접한 최적의 리스트를 찾는 것

경우의 수는 빼고 오버되면 빼고 순차적으로 하는 것으로

만원, 만원, 만오천원 하면 만오천원 빼고 다음 넣고 이런 식으로(BRE 처리로 하면 됨)

메일 수신할거면 본인 메일로 하면 된다

예시 파일 기준으로 해도 되고 템플릿 파일에 경계값이나 그런거 설정해서 테스트할 때 써도 된다.


조금 바꿔서 템플릿으로 적용해서 한 번만 설정하고 새로고침하는 방식으로 설계를 해도 된다

설계할 때 공통된 것인데 RPA가 안되는 경우를 빼는 것도 중요하다

댓글남기기