diff --git a/cmd/robot/friend.go b/cmd/robot/friend.go index de6bd78e9..ea9b1de76 100644 --- a/cmd/robot/friend.go +++ b/cmd/robot/friend.go @@ -91,7 +91,7 @@ var ( enabled: true, } tcs = append(tcs, tc) - robot.addTestCaseAndReq(tcs) + robot.addBuilders(tcs) } }, diff --git a/cmd/robot/hero.go b/cmd/robot/hero.go index c0383d31c..b36ff7498 100644 --- a/cmd/robot/hero.go +++ b/cmd/robot/hero.go @@ -45,7 +45,7 @@ var ( } tcs = append(tcs, tc) } - robot.addTestCaseAndReq(tcs) + robot.addBuilders(tcs) } }, diff --git a/cmd/robot/login.go b/cmd/robot/login.go index c22745ea0..a0fc727c5 100644 --- a/cmd/robot/login.go +++ b/cmd/robot/login.go @@ -60,11 +60,11 @@ func (r *Robot) AccountLogin() { req: &pb.UserCreateReq{ //设置请求参数 NickName: nick, }, - rsp: &pb.UserCreateResp{}, - enabled: true, + rsp: &pb.UserCreateResp{}, + // enabled: true, } tcs = append(tcs, tc) - r.addTestCaseAndReq(tcs) + r.addBuilders(tcs) } }, diff --git a/cmd/robot/robot.go b/cmd/robot/robot.go index 7e0fd6b84..c497fe61b 100644 --- a/cmd/robot/robot.go +++ b/cmd/robot/robot.go @@ -24,8 +24,8 @@ type Robot struct { user *pb.DBUser builderMap map[string]*TestCase // linkCase *LinkCase - wg sync.WaitGroup - reqCh chan string //请求通道uuid + wg sync.WaitGroup + // reqCh chan string //请求通道uuid // rspCh chan string //响应通道uuid } @@ -38,7 +38,7 @@ func NewRobot(opts *Options) *Robot { ws: ws, opts: opts, builderMap: make(map[string]*TestCase), - reqCh: make(chan string, 1), + // reqCh: make(chan string, 1), // rspCh: make(chan string, 10), } @@ -122,7 +122,7 @@ func (r *Robot) handleReq() { continue } b.requested = true - r.reqCh <- b.id + // r.reqCh <- b.id } } } @@ -133,18 +133,39 @@ func (r *Robot) addTestCaseAndReq(tcs []*TestCase) { r.handleReq() } -//处理响应 -func (r *Robot) handleRsp(msg *pb.UserMessage) { - uuid := <-r.reqCh - if uuid == "" { - log.Printf("[%v.%v] uuid is empty", msg.MainType, msg.SubType) +//错误通知处理 +func (r *Robot) handleNotify(msg *pb.UserMessage) { + if msg.MainType == "notify" && msg.SubType == "errornotify" { + rsp := &pb.NotifyErrorNotifyPush{} + if !comm.ProtoUnmarshal(msg, rsp) { + return + } + printReply(msg, &TestCase{ + desc: "错误通知", + mainType: comm.MainTypeNotify, + subType: comm.SubTypeErrorNotify, + rsp: rsp, + enabled: true, + }) return } - if v, ok := r.builderMap[uuid]; ok { +} + +//处理响应 +func (r *Robot) handleRsp(msg *pb.UserMessage) { + r.handleNotify(msg) + // uuid := <-r.reqCh + // if uuid == "" { + // log.Printf("[%v.%v] uuid is empty", msg.MainType, msg.SubType) + // return + // } + // if v, ok := r.builderMap[uuid]; ok { + for _, v := range r.builderMap { if v.enabled && (msg.MainType == v.mainType && msg.SubType == v.subType) && v.requested { + if !comm.ProtoUnmarshal(msg, v.rsp) { return } @@ -183,6 +204,7 @@ func (r *Robot) loginCallback(rsp proto.Message) { if lr.Data != nil { r.user = lr.Data r.onUserLoaded() + r.handleReq() } else { //请求Http接口,模拟创建新账号 r.AccountRegister(r.opts.Account, int32(r.opts.ServerId)) @@ -268,8 +290,6 @@ func traceFunc(module string, funcName string, uid string, funcArgs interface{}) //在这里添加玩家成功登录以后的测试方法 //次方法在用户登录成功后调用 func (r *Robot) onUserLoaded() { - //notify - r.RunNotify() //user r.RunUser() //hero diff --git a/cmd/robot/story.go b/cmd/robot/story.go index 6ba9ce170..86ef7faa4 100644 --- a/cmd/robot/story.go +++ b/cmd/robot/story.go @@ -33,7 +33,7 @@ var ( StoryId: 1, }, rsp: &pb.StoryChallengeResp{}, - enabled: true, + // enabled: true, }, } )