在继续测试之前,我正在使用BASH脚本来检查Selenium是否已启动并运行。
过去对于Selenium 2,我使用了以下命令来测试服务器是否启动。
http://<<selenium_pc>>:4444/selenium-server/driver/?cmd=getLogMessages
返回“OK”。我使用curl并将返回的值存储在变量中,然后进行比较以查看是否应继续测试。
当我搬到Selenium 3时,我无法找到这个等效的命令。我在此期间正在做的是使用curl来获取页面并将其存储在变量中,然后将其与我本地保存的文件进行比较,然后将其放入另一个变量进行比较。
这不是那么优雅。
我可以使用:
http://<<selenium_pc>>:4444/wd/hub/status
但是这给了我一个JSON对象,它有一个总是改变的hCode值。
我错过了什么明显的东西吗?
亚当
答案 0 :(得分:0)
调用URL
时它会让你回到这个JSON
{
"state": "success",
"sessionId": null,
"hCode": 1508265052,
"value": {
"build": {
"version": "3.0.1",
"revision": "1969d75",
"time": "2016-10-18 09:48:19 -0700"
},
"os": {
"name": "Mac OS X",
"arch": "x86_64",
"version": "10.12.1"
},
"java": {
"version": "1.8.0_66"
}
},
"class": "org.openqa.selenium.remote.Response",
"status": 0
}
你应该能够轻松地解析你得到的这个JSON对象作为响应并使用那个没有?例如,根据上述回复,您可以使用here所述的技术轻松解析state
(或)status
的值。