2.1개요
본 문서는 청약 자동화 테스트를 위해 작성되었습니다.
2.2개발 서버
청약 어뎁터 서버
[개발서버] http://10.10.30.47:8450/
[DB] 10.10.30.45
2.2.1청약 어댑터
카카오 청약 홈페이지에서 데이터를 전달 받고, 결과를 전달해 주는 서비스 입니다.
2.2.2트랜젝션 코드
- 트랜젝션시나리오 코드 입니다.
t_create_csapp : 상담앱 상용 설정 트랜젝션
t_create_notitalk: 알림톡 설정 트렌젝션
t_create_callbot: 콜봇 생성 트랜젝션
t_create_notitalk_callbot: 알림톡 + 콜봇 설정 트랜젝션
2.3테스트 시나리오
2.3.1사전 설정
요청받을 서버 정보 설정
요청 시나리오 확인
2.3.1.1요청 받을 서버 정보 설정
subscription > server_list 테이블 수정
server_ip/server_port : 서버 ip/port 정보 수정
server_https : https 여부(http:0, https:1 ) 수정
그림 2-1스크린샷 2023-04-03 오전 11.20.15
2.3.1.2요청 시나리오 정보 확인
subscription > job_transaction_list 테이블 확인
transaction_code : 트렌젝션 코드(t_create_csapp: 상담앱)
order : 진행 순서
server_type : 서버 구분
그림 2-2스크린샷 2023-04-03 오전 11.20.15
2.3.2t_create_csapp (홈페이지 -> 상담앱 ) 실행
tlogId : 중복될수가 없습니다. 실행시 값을 변경해 주셔야 합니다.
activateId : 중복될수가 없습니다. 실행시 값을 변경해 주셔야 합니다.
report : 필요한 값을 변경해서 테스트하면 됩니다.
- [실행]
curl -v -H "Accept: application/json" -H "Content-type: application/json" \ -X PUT -d @homepage_report.json \ http://10.10.30.47:8450/job/nexus
- [homepage.report.json 파일]
{
"tlogId": "9c766de1-39e5-4fcf-a39d-174c11111127",
"service": "ss_nexus",
"serviceType": "C",
"transaction": "t_create_csapp",
"prevSteps": [
{
"service": "ss_homepage_be",
"report":
{
"activateId": "UUUU-IIII-D007",
"tenant": {
"name": "넥서스커뮤니티",
"alias": "nexus",
"inPn": "15660000",
"outPn": "15661111",
"testPn": "07000000000",
"startDate": "20230601",
"legalHoliday": true,
"businessSch": [
{"openTime": "0900", "closeTime": "1800", "breakStart": "1200", "breakEnd": "1300", "days": [1, 2, 3, 4, 5]},
{"openTime": "0900", "closeTime": "1300", "days": [6]}
]
},
"plan": {
"type": "starter",
"csapp": "basic",
"bot": true,
"callback": true,
"recordPeriod": "1Y",
"chatting": true,
"chattingMsg": true,
"agentEndMsg": true,
"botEndMsg": true,
"callbackMsg": true
},
"csapp":{
"skillName": ["가격", "사이즈", "배송지연", "오배송"],
"category":[
{
"name": "상품",
"category": [
{
"name": "문의",
"category": [
{"name": "반품"}
]
}
]
},
{
"name": "배송",
"category": [
{
"name": "지연",
"category": [
{"name": "클레임"}
]
}
]
}
],
"user":
[
{"id": "nx_agent_01", "name": "", "roleCd": ["agent"], "skillName": ["가격"]},
{"id": "nx_admin_01", "name": "", "roleCd": ["admin"], "skillName": ["가격","사이즈"]},
{"id": "nx_admin_02", "name": "", "roleCd": ["agent","admin"], "skillName": ["배송지연"]}
]
},
"bot": {
"qty": 10,
"callbackQty": 5
},
"ivr": {
"firstId": "bot",
"welcomeMent": "안녕하세요 브랜디 입니다.",
"announcement": "상품문의는 1번, 배송문의는 2번, .... 다시듣기는 *을 눌러주세요.",
"numbering": [
{
"digit": "1",
"announcement": "상품문의입니다. 구매문의는 1번, 가격문의는 2번,.. 이전단계는 .. 다시듣기는 ..",
"numbering": [
{
"digit": "1",
"announcement": "구매문의입니다.",
"numbering": [
{
"digit": "1",
"announcement": "가격문의입니다.",
"skillName": "가격"
},
{
"digit": "2",
"announcement": "사이즈문의입니다.",
"skillName": "사이즈"
}
]
},
{
"digit": "2",
"announcement": "배송문의입니다.",
"numbering": [
{
"digit": "1",
"announcement": "배송지연문의입니다.",
"skillName": "배송지연"
},
{
"digit": "2",
"announcement": "오배송문의입니다.",
"skillName": "오배송"
}
]
}
]
}
]
}
}
}
],
"jobRespAddr": "http://rp:8080/report/add20"
}2.3.3t_create_notitalk (홈페이지 -> 알림톡/상담톡 ) 실행
tlogId : 중복될수가 없습니다. 실행시 값을 변경해 주셔야 합니다.
activateId : t_create_csapp 실행시 성공한 적으로 처리된 값이어야 합니다. (resouce_* 테이블 데이터 이용)
report : 필요한 값을 변경해서 테스트하면 됩니다.
- [실행]
curl -v -H "Accept: application/json" -H "Content-type: application/json" \ -X PUT -d @homepage_report_alim.json \ http://10.10.30.47:8450/job/nexus/alimtalk
- [homepage_report_alim.json 파일]
{
"tlogId": "4ddd2976-680e-4638-8caa-d8a4a66510050",
"service": "nexus-resource",
"serviceType": "C",
"transaction": "t_create_notitalk",
"prevSteps": [
{
"service": "hbe",
"report": {
"activateId": "UUUU-IIII-D050",
"tenantAlias": "ken50",
"clientId": "N00001111",
"channelId": "@넥서스",
"channelId2": "@넥서스알림",
"senderKey": "ad00d48bf63f6f29f641cec728c7907848ac56ac",
"senderKey2": "2e377a3721f21f74ef7323ebb653ca3050e91bf9",
"outPn": "0215661111",
"templetes": [
{
"templateCd": "CALL_END0111",
"templateType": "CALL_END",
"fallback": true,
"fallbackType": "LMS",
"fallbackTitle": "상담종료",
"fallbackMessage": "안녕하세요 브랜디입니다. 통화종료"
},
{
"templateCd": "CALLBACK0111",
"templateType": "CALLBACK",
"fallback": true,
"fallbackType": "SMS",
"fallbackMessage": "안녕하세요 브랜디입니다."
}
]
}
}
],
"jobRespAddr": "http://rp:8080/report/add30"
}2.3.4요청 정보 확인
요청된 상태 확인
2.3.4.1요청 정보 상태 및 히스토리
subscription > job_status 테이블 확인
t_logId: 요청아이디
activate_id: 트랜젠션 ID
tranasaction_order : 프로세스 (job_transaction 의 order 값) 순서
job_status : 상태(W:Waiting,P:Progress,C:Complete,F:Failed) 값
그림 2-3스크린샷 2023-04-03 오전 11.33.10
subscription > job_transaction_history 테이블 확인
activate_id 로 현재 서버에 request/ response 의 상태를 확인 할수 있습니다.
그림 2-4스크린샷 2023-04-03 오전 11.35.12