打造专属测试平台2-使用Python-Jenkins模块调用Jenkins API,修改Job配置并运行

Posted 酌三巡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打造专属测试平台2-使用Python-Jenkins模块调用Jenkins API,修改Job配置并运行相关的知识,希望对你有一定的参考价值。

Jenkins提供了许多API供我们远程调用,而Python-Jenkins模块将它们封装,更加简化了调用相关的操作。

具体需求

比如,最近我在做自动化测试时,想更加灵活的调用测试脚本,于是写了一个Web前端页面去筛选待执行的测试脚本,并将脚本名称通过Jenkins API传递到Job配置中,再执行该Job,即开始测试。

前端页面Demo如下:

筛选完测试脚本后,修改Jenkins Job配置,将构建信息中的红框部分即测试脚本名称,替换成筛选后的脚本名称。

如何实现

为了实现上述功能,该怎么做呢?下面会用到Python-Jenkins模块提供的get_job_config()、reconfig_job()、build_job()方法,达到读取配置,修改配置以及触发job的目的。

import jenkins
import re

def set_job_and_run_testcase(testcase, job_name="demo"):
    # 创建jenkins实例
    server = jenkins.Jenkins("http://my_jenkins_url", username="jenkins_username", password="jenkins_password")
    # 获取job当前的配置
    config = server.get_job_config(job_name)
    # 使用正则表达式,替换job当前配置中的testcase字段
    new_config = re.sub(r\'python runner_for_jenkins.py -t ("|").*?("|")\',
                        r\'python runner_for_jenkins.py -t "%s"\' % testcase, config)
    # 使用new_config成为job的配置
    server.reconfig_job(job_name, new_config)
    # 运行job
    server.build_job(job_name)

if __name__ == \'__main__\':
    set_job_and_run_testcase("testcases/case2.py,testcases/case3.py")

 运行结果:

可以看到成功地修改了Job配置信息。需要说明的是,Jenkins API提供的操作远不止我们现在看到的,它几乎覆盖了Jenkins方方面面的操作,所以Python-Jenkins模块还是非常有用的,感兴趣的朋友可在文后的参考资料中进一步了解。

 

参考资料

  • https://python-jenkins.readthedocs.io/

作者:酌三巡

感谢阅读,如需转载请注明出处!

英语学习自测神器——用python爬虫打造专属英文词汇量测试脚本!

英语是现在传播很广的一门语言,它是由26个字母组成,像小编这种小时候不喜欢学英语的人,一直都是看见英语就头大。后来发现这东西不学不行,还是咬着牙学了。大家应该都知道学习英语,最重要的是词汇量,所以今天我们就用python做一个小的爬虫,然后自己写一个脚本来实现这个功能吧!

技术分享图片

 

目标:打造一个英文词汇量测试脚本

url:

扇贝网

工具:

python3.6、pycharm、requests库

思路:

和网页一样,总共分三步:

技术分享图片

 

先来看看网页中数据,用F12开发者工具抓包就可以

为了更好的演示,这里网页缩小了。

技术分享图片

 

点击开始,在来看看出现了什么

技术分享图片

 

这里我们抓到了一个包,这个json数据中包含了所有的类别或者说是级别,一共十大类,我们点击”响应”验证下

技术分享图片

 

可以看到,显示内容在我们抓到的json数据中,但是0和1中的内容有的一样,有的不一样是什么鬼?不要急,我们先选择‘高考’,在抓下包看看

技术分享图片

 

选择高考后,网页直接给出了第二步,50个单词选择,注意,先看下抓到的json数据的真实地址

技术分享图片

 

还记得我们在第一步抓到的包吗?0里面就是这个真实地址最后的category的值,1里面是对应的显示在网页中的内容,好了,第二步的真实url也被我们找到规律了,那下来就是分析单词了,看看有什么规律,我们点开一个看看

技术分享图片

 

有几个值非常重要,也是我们的目标:

Content的值是显示的单词

Definition_choices是需要我们判断的多个词义,中间包含有正确的词义,每个词义中的rank值应该是该词义的标识

rank值是正确的词义,也由此判断上述多个词义中的正确词义

ok,到这里我们就可以开始写代码了,具体过程就不一一说明了,没有反爬,全部是json数据的读取和判断,先放上我的代码和运行效果

技术分享图片

 

文章到此就告一段落了,喜欢本文的小伙伴欢迎转发或点波关注喔!

如果大家在学习Python的路上,或者打算学习Python需要学习资料,可以加群571799375,群里学习资料免费赠送大家喔!

本文来自网络,如有侵权,请联系小编删除!

以上是关于打造专属测试平台2-使用Python-Jenkins模块调用Jenkins API,修改Job配置并运行的主要内容,如果未能解决你的问题,请参考以下文章

英语学习自测神器——用python爬虫打造专属英文词汇量测试脚本!

保姆级教程:如何搭建一个专属云平台?

保姆级教程:如何搭建一个专属云平台?

保姆级教程:如何搭建一个专属云平台?

如何把phpStorm打造成自己的专属IDE

传统企业如何打造统一的持续集成平台