Thanks for your help, as this is all new to me, and I’d never encountered a web socket (that I was aware of) until yesterday I’m a little lost.
I obtain my CSRF and atmosphere key, then I open a socket and push my login message.
Request
523|{“csrfToken”:“${seckey}”, “rpc”:[[“0”,“com.vaadin.shared.ui.ui.UIServerRpc”,“resize”,[“968”,“1280”,“1280”,“968”]
],[“10”,“v”,“v”,[“text”,[“s”,“jamie”]
]],[“10”,“v”,“v”,[“c”,[“i”,“5”]
]],[“11”,“v”,“v”,[“text”,[“s”,“jamie”]
]],[“11”,“v”,“v”,[“c”,[“i”,“5”]
]],[“12”,“com.vaadin.shared.ui.button.ButtonServerRpc”,“click”,[{“metaKey”:false, “altKey”:false, “ctrlKey”:false, “relativeX”:“29”, “relativeY”:“27”, “clientY”:“476”, “clientX”:“796”, “shiftKey”:false, “button”:“LEFT”, “type”:“1”}]
]], “syncId”:1}
The response that I receive is as expected, which shows that the socket is open and I can communicate through it successfully.
4452|for(;;);[{“syncId”: 2, “changes” : [[“change”,{“pid”:“0”},[“0”,{“id”:“0”,“location”:“http://v217s08r2643:8080/getit/#!-”,“v”:{“action”:“”}},[“actions”,{}]
]],[“change”,{“pid”:“23”},[“24”,{“id”:“23”}]
],[“change”,{“pid”:“10”},[“1”,{“id”:“10”}]
],[“change”,{“pid”:“11”},[“2”,{“id”:“11”}]
]], “state”:{“22”:{“id”:“org_jamie_web_frontend_navigation_containers_BreadcrumbsAndContentContainer”,“height”:“100.0%”,“width”:“100.0%”,“styles”:[“full-screen-component”,“breadcrumbs-and-content”]
,“childData”:{“31”:{“expandRatio”:1,“alignmentBitmask”:5},“23”:{“expandRatio”:0,“alignmentBitmask”:5}}},“23”:{“templateContents”:“<div location="up-arrow"></div><div location="breadcrumbs"></div><div location="user"></div>”,“childLocations”:{“25”:“breadcrumbs”,“27”:“user”},“width”:“100.0%”,“styles”:[“top-bar”,“overlying-circle”]
},“33”:{“id”:“CircleNavigation_1416301228498”,“rpcInterfaces”:{“org.jamie.web.frontend.navigation.circle.rpc.ClientToServerRpc”:[“notifyUriChanged”]
},“enabled”:true,“resources”:,“immediate”:false,“readOnly”:false,“height”:“”,“callbackNames”:,“description”:“”,“width”:“”,“styles”:[“navigation-circle”]
},“25”:{“height”:“100.0%”,“width”:“100.0%”,“styles”:[“breadcrumbs”]
},“26”:{“styles”:[“link”,“small”,“logo”]
,“caption”:“GETIT”},“27”:{“styles”:[“user”]
},“11”:{“text”:“jamie”},“28”:{“resources”:{“icon”:{“uRL”:“fonticon://FontAwesome/f007”}},“styles”:[“link”,“small”]
,“caption”:“jamie”},“29”:{“resources”:{“icon”:{“uRL”:“fonticon://FontAwesome/f013”}},“description”:“Preferences”,“styles”:[“link”,“small”]
},“10”:{“text”:“jamie”},“30”:{“resources”:{“icon”:{“uRL”:“fonticon://FontAwesome/f08b”}},“description”:“Sign Out”,“styles”:[“link”,“small”]
},“32”:{“id”:“org_jamie_web_frontend_navigation_circle_view_CircleNavigationView1416301228498”,“height”:“100.0%”,“width”:“100.0%”,“styles”:[“dynamic-view”]
,“connectorToCssPosition”:{“33”:“”}},“5”:{“styles”:[“login-panel”]
},“31”:{“height”:“100.0%”,“width”:“100.0%”,“styles”:[“view-content”]
,“childData”:{“32”:{“expandRatio”:0,“alignmentBitmask”:5}}}}, “types”:{“22”:“27”,“23”:“24”,“33”:“25”,“25”:“26”,“26”:“3”,“27”:“28”,“11”:“2”,“28”:“3”,“29”:“3”,“2”:“6”,“10”:“1”,“1”:“7”,“0”:“0”,“30”:“3”,“32”:“29”,“5”:“7”,“31”:“17”}, “hierarchy”:{“22”:[“23”,“31”]
,“23”:[“27”,“25”]
,“33”:,“25”:[“26”]
,“26”:,“27”:[“28”,“29”,“30”]
,“11”:,“28”:,“29”:,“2”:,“10”:,“1”:[“3”,“22”]
,“0”:[“1”,“2”]
,“30”:,“32”:[“33”]
,“5”:[“6”,“9”,“13”,“19”]
,“31”:[“32”]
}, “rpc” : [[“2”,“com.vaadin.shared.extension.javascriptmanager.ExecuteJavaScriptRpc”,“executeJavaScript”,[“notvitic.navigation.ViewsNavigator.leafToCircle(‘org_jamie_web_frontend_navigation_containers_BreadcrumbsAndContentContainer’);”]
],[“2”,“com.vaadin.shared.extension.javascriptmanager.ExecuteJavaScriptRpc”,“executeJavaScript”,[“notvitic.navigation.ViewsNavigator.swapContainers(‘org_jamie_web_frontend_navigation_containers_FullScreenContainer’,‘org_jamie_web_frontend_navigation_containers_BreadcrumbsAndContentContainer’);”]
],[“33”,“org.jamie.web.frontend.navigation.circle.rpc.ServerToClientRpc”,“refresh”,[{“icon”:“-”,“children”:[{“icon”:“search”,“children”:
,“label”:“Searches”,“uri”:“search”},{“icon”:“maintain”,“children”:,“label”:“Maintain”,“uri”:“maintain”},{“icon”:“admin”,“children”:,“label”:“Admin”,“uri”:“admin”},{“icon”:“dataentry”,“children”:,“label”:“Data Entry”,“uri”:“dataentry”}],“label”:null,“uri”:“-”}]]], “meta” : {}, “resources” : {}, “typeMappings” : { “org.jamie.web.frontend.navigation.circle.view.CircleNavigationView” : 29 , “org.jamie.web.frontend.navigation.breadcrumbs.Breadcrumbs” : 26 , “org.jamie.web.frontend.navigation.circle.widget.CircleNavigation” : 25 , “com.vaadin.ui.AbsoluteLayout” : 30 , “org.jamie.web.frontend.views.common.AttachableCssLayout” : 31 , “org.jamie.web.frontend.navigation.containers.BreadcrumbsAndContentContainer” : 27 , “com.vaadin.ui.AbstractJavaScriptComponent” : 32 , “org.jamie.web.frontend.views.user.menu.UserMenuCircle” : 28 , “com.vaadin.ui.CustomLayout” : 24 }, “typeInheritanceMap” : { “29” : 30 , “26” : 31 , “25” : 32 , “16” : 19 , “30” : 11 , “31” : 7 , “17” : 21 , “6” : 23 , “18” : 19 , “2” : 15 , “27” : 17 , “19” : 13 , “22” : 10 , “10” : 18 , “11” : 20 , “32” : 19 , “7” : 11 , “28” : 7 , “15” : 16 , “24” : 11 , “0” : 22 , “3” : 19 , “20” : 19 , “1” : 15 , “21” : 11 , “23” : 13 }, “scriptDependencies”: [“published:///vCircleNavigation.js”]
, “timings”:[7, 0]
}]
There then appears to be a further message sent which I am replicating
353|{“csrfToken”:“ca54d523-f529-4a31-9ad0-18487247ac2e”, “rpc”:[[“2”,“com.vaadin.ui.JavaScript$JavaScriptCallbackRpc”,“call”,[“notvitic.navigation.ViewsNavigator.containersSwapped”,[“org_jamie_web_frontend_navigation_containers_FullScreenContainer”,“org_jamie_web_frontend_navigation_containers_BreadcrumbsAndContentContainer”]
]]], “syncId”:2}
and receiving the correct response for
272|for(;;);[{“syncId”: 3, “changes” : [[“change”,{“pid”:“0”},[“0”,{“id”:“0”,“location”:“http://v217s08r2643:8080/getit/#!-”}]
]], “state”:{}, “types”:{“1”:“7”,“0”:“0”}, “hierarchy”:{“1”:[“22”]
,“0”:[“1”,“2”]
}, “rpc” : , “meta” : {}, “resources” : {}, “timings”:[151, 0]
}]
At this point, on the application I would click on the searches link, which would take me to “http://v217s08r2643:8080/getit/#!-/search”
The request I am using is the same as recorded in Chrome
182|{“csrfToken”:“ca54d523-f529-4a31-9ad0-18487247ac2e”, “rpc”:[[“33”,“org.jamie.web.frontend.navigation.circle.rpc.ClientToServerRpc”,“notifyUriChanged”,[“search”]
]], “syncId”:3}
However the response is the same as the previous 272 character response above, so I am obviously missing some method of changing to the new URL. I can’t see anything that I am missing in the Chrome log though.
I have attached my Gatling script and the Chrome log for the above navigation. I really think that if I can understand this step then I should be ok (don’t hold me to that).
Thanks for your help
Jamie
17243.txt (3.76 KB)
17244.txt (59.9 KB)