我想通过使用硒webdriver检查jenkins作业的内置status()。 jenkins中有许多作业正在运行,但是其中一个作业每小时都在运行,因此我想检查特定作业在过去24小时内成功建立/失败的次数以及时间。有什么办法可以让我点击jenkins网址以获取构建状态。
我浏览了一些链接,发现一些开发人员正在使用jenkins cli来获取构建状态,但无论如何我都没有找到通过硒获取状态的方法。在这方面寻求您的指导。我想通过使用Java完成此任务。 预先感谢。
//到目前为止没有代码
没有内置状态的内置时间
123463成功于2018年12月24日晚上11:51:12
123462于2018年12月24日晚上10:51:12失败
... ....... ...............................
12345成功于2018年12月24日5:51:12 AM
12344于2018年12月24日上午4:51:12失败
12343成功于2018年12月24日上午3:51:12
12342成功于2018年12月24日上午2:51:12
12341成功于2018年12月24日上午1:51:12
答案 0 :(得分:3)
在Seleniumhq网站上,
Selenium使浏览器自动化。而已!首先,它用于自动化Web应用程序以进行测试,但是当然不限于此。无聊的基于Web的管理任务也可以(而且应该!)也可以自动化。
因此,不建议使用Selenium从Jenkins获取构建状态。如您所愿,您可以使用Java和Jenkins API来完成此操作。
通常,Jenkins作业的网址类似于
Jenkins通过远程访问API公开了许多细节,并且可以通过将json或xml附加到上述url来查看JSON / XML格式的作业元数据。
示例:
“ 树”查询参数允许用户显式指定并仅检索他们要查找的信息。
以您为例,
上面的网址的示例响应如下。
{
"_class": "hudson.model.FreeStyleProject",
"allBuilds": [
{
"_class": "hudson.model.FreeStyleBuild",
"number": 7,
"result": "SUCCESS",
"timestamp": 1545661232289,
"url": "http://localhost:8080/job/RegressionTest/7/"
},
{
"_class": "hudson.model.FreeStyleBuild",
"number": 6,
"result": "SUCCESS",
"timestamp": 1545658820048,
"url": "http://localhost:8080/job/RegressionTest/6/"
},
{
"_class": "hudson.model.FreeStyleBuild",
"number": 5,
"result": "SUCCESS",
"timestamp": 1545658814132,
"url": "http://localhost:8080/job/RegressionTest/5/"
},
{
"_class": "hudson.model.FreeStyleBuild",
"number": 4,
"result": "FAILURE",
"timestamp": 1545658799754,
"url": "http://localhost:8080/job/RegressionTest/4/"
},
{
"_class": "hudson.model.FreeStyleBuild",
"number": 3,
"result": "FAILURE",
"timestamp": 1545658784937,
"url": "http://localhost:8080/job/RegressionTest/3/"
}
]
}
您可以使用Java json库以所需的方式解析和处理数据。
使用api
请注意,此处指定的所有内容均在工作级别。