我正在使用量角器进行一些端到端的测试。我们希望根据我们运行的selenium节点执行一组操作,以便在它们同时运行时避免某些测试相互干扰。我怎样才能获得我的selenium hub为我的测试分配的selenium节点?
通过重复问题的可能解决方案,我尝试了以下内容,看看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 :(得分: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);
});