在自动化测试或者自动化工具开发中,通常需要向其它电脑或者服务器发送指令,比如Windows发送命令到Linux服务器开启某个服务进程,或者读取状态信息,我们可以使用ssh协议实现。

如果Windows主机需要发送命令到局域网内的其它Windows电脑要如何实现呢?在网络安全中称为横向移动的内网渗透方法可实现远程执行命令,横向移动工具有很多,本文介绍psexec和wmiexec这两个工具如何实现远程执行进程。

阅读全文 »

Git版本控制中,git rebasegit merge 这两个命令都可以用来集成从一个分支和另一个分支的更改。它们是两种不同的合并方法,本文将介绍它们的差异。

阅读全文 »

Jmeter是一个比较常用的接口测试工具,尤其是接口性能测试。当然它也可以用来测试手机APP的HTTP接口,我在Fiddler抓取手机APP报文接口测试代理工具charles mock测试 分别介绍了Fiddler和charles 如何抓取APP报文,本文介绍使用Jmeter来抓取APP报文以及进行手机APP接口测试。

阅读全文 »

持续集成:通过Jenkins API创建项目和节点介绍了使用jenkins API来创建项目和新建节点,jenkins API也可以创建视图(view)。

1. 获取视图配置文件

jenkins API创建视图(view)和创建项目类似,通过一个视图配置文件,发送post请求来创建。

视图配置文件可通过如下步骤获取:

  1. 手动在jenkins创建一个视图,例如我创建一个名为myview的视图。
  2. 访问http://192.168.30.8:8080/view/myview/config.xml,这个就是视图myview的配置文件,保存到本地(view.xml)。192.168.30是我的jenkins服务器地址。

如果不保存为文件,需要赋给某个变量,可以使用xml压缩工具压缩一下:

1
<?xml version="1.1" encoding="UTF-8"?><hudson.model.ListView><name>myview</name><filterExecutors>false</filterExecutors><filterQueue>false</filterQueue><properties class="hudson.model.View$PropertyList"/><jobNames><comparator class="java.lang.String$CaseInsensitiveComparator"/></jobNames><jobFilters/><columns><hudson.views.StatusColumn/><hudson.views.WeatherColumn/><hudson.views.JobColumn/><hudson.views.LastSuccessColumn/><hudson.views.LastFailureColumn/><hudson.views.LastDurationColumn/><hudson.views.BuildButtonColumn/><hudson.plugins.robot.view.RobotListViewColumn plugin="robot@3.2.0"/><hudson.plugins.favorite.column.FavoriteColumn plugin="favorite@2.4.1"/></columns><recurse>false</recurse></hudson.model.ListView>

2. 创建视图

执行如下命令:

1
$ curl -vvv -X POST --USER admin:11133124cbb8558231da29e8eb12b2de71 -d @view.xml -H "Content-Type: text/xml" http://192.168.30.8:8080/createView?name=MyView2

执行成功后会新创建一个名为MyView2的视图。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ curl -vvv -X POST --USER admin:11133124cbb8558231da29e8eb12b2de71 -d @view.xml -H "Content-Type: text/xml" http://192.168.30.8:8080/createView?name=MyView2
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 192.168.30.8:8080...
* Connected to 192.168.30.8 (192.168.30.8) port 8080 (#0)
* Server auth using Basic with user 'admin'
> POST /createView?name=MyView2 HTTP/1.1
> Host: 192.168.30.8:8080
> Authorization: Basic emhhbmdoYWl5b25nOjExMTMzMTI0Y2JiODU1ODIzMWRhMjllOGViMTJiMmRlNzE=
> User-Agent: curl/7.83.1
> Accept: */*
> Content-Type: text/xml
> Content-Length: 785
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Fri, 16 Dec 2022 06:42:22 GMT
< X-Content-Type-Options: nosniff
< Content-Length: 0
< Server: Jetty(9.4.46.v20220331)
<
* Connection #0 to host 192.168.30.8 left intact

3. 将job添加到视图

可以将某个job放到创建某个的view中:

1
$ curl -vvv -X POST --USER admin:11133124cbb8558231da29e8eb12b2de71 "http://192.168.100.31:8080/view/MyView2/addJobToView?name=my_pipeline"

上面的接口请求实现将名为my_pipeline的job添加MyView2中。

参考资料:

  1. https://stackoverflow.com/questions/52126961/jenkins-rest-api-create-new-job-view
--THE END--

人与人之间情断义绝,并不需要什么具体的理由,就算表面上有,也很可能是心已经离开的结果,事后才编造的借口而已。因为倘若心没有离开,当将导致关系破裂的事态发生时,理应有人努力去挽救。如果没有,说明其实关系早已破裂。——东野圭吾《解忧杂货店》

Http协议代理工具有很多,比如Burp Suite、Charles、Jmeter、Fiddler等,它们都可以用来抓取APP报文,其中charles和Burp Suite是收费的,Jmeter主要用来做接口测试,而Fiddler提供了免费版,本文记录一下在Windows系统中如何用Fiddler代理工具抓取手机APP报文。

阅读全文 »

通常一个Java项目会引用大量的 jar 包,而jar 包之间可能存在各种依赖关系,如果运行Java项目时仅使用classpath 参数来管理jar包会非常不方便,此外,在项目编译、打包、升级、发布都会非常繁琐。Maven就是一个可以用来管理jar包的工具,可以用它来构建和管理任何基于java的项目,比如代码编译、打包、项目模块化管理、依赖管理等,下面来介绍Maven的安装及配置方法。

阅读全文 »