2016-04-14 118 views
0

我使用量角器进行一些端到端测试。我们希望根据运行的硒节点执行一系列操作,以避免一些测试在同时运行时互相干扰。我如何能够获得我的硒中心分配给我的测试运行的硒节点?量角器 - 获取硒节点测试正在运行

随着重复问题的可能的解决方案我尝试以下,看看有什么testsession API会给我

browser.getSession().then(function (session) { 
    var hub = "http://localhost:4444"; //IP or hostname of GRID 

    var url = hub + "/grid/api/testsession?session=" + session.getId(); 
    console.log(url); 
}); 

,然后同时我的测试运行时我会再手动从中得到了浏览器中点击链接打印出来

http://localhost:4444/grid/api/testsession?session=17e14d0e-38da-4269-b23c-3b2d52569383

但是响应我得到的回复是

{"success":false,"msg":"Cannot find test slot running session 8ca57382-d7d8-44ae-b3bc-8c1223c86805 in the registry."} 

我现在应该以不同的方式获得会话吗?

+0

我没有投票下你的问题,但它是[这]一式两份(http://stackoverflow.com/questions/6898735 /硒-2-网格知的 - 这 - 淋巴结 - 你的测试-IS-使用)。谷歌**硒网格获得节点ID ** – MikeJRamsey56

+0

@ MikeJRamsey56出于某种原因,这没有奏效。将更新我的问题与我到目前为止做了什么 – user3626708

+0

你看第二个答案吗? – MikeJRamsey56

回答

2

所以并主张我的代码片段,帮助别人找到解决方案,以及

browser.driver.getCapabilities().then(function (capabilities) { 
     var hub = "http://localhost:4444"; //IP or hostname of GRID 

     var url = hub + "/grid/api/testsession?session=" + capabilities.caps_['webdriver.remote.sessionid']; 

     var res = request('GET', url); 
     var testSession = JSON.parse(res.getBody().toString()); 
     var URL = new urlParse(testSession.proxyId); 
     console.log(URL.host); 
    });