原由
原本一直在使用第三方的在线接口文档维护着接口。
最近新建立了公司内部的wiki百科为了安全性要在一周内迁移所有的showdoc文档到gitlab上。
目前showdoc有将近100个文档说明,如果组内10个人一人拷贝10个也花不了太长时间,但是作为程序员还得用程序员的方式去解决重复性的活。
还好刚毕业时有过类似的经历,那时也是因为wiki迁移不光有文字还有各种图片各种zip文档,大约3G不能丢失。
此次迁移幸好本身的showdoc是markdown编辑的gitlab也无缝支持markdown保存,所以花了一下午的时间专门写了整个流程的selenium+java的操作。
来看一下如何去做这一套迁移工作
正常手动操作流程
1.编辑要拷贝的东西
2.复制所需的文本数据
3.打开gitlab粘贴我们的数据 然后保存
整个流程手动大概5秒左右,因为来回切换复制粘贴title、目录、文本数据
(如果有1万的文章那我们一个人手动大概要花5万秒)
为了把繁杂的工作变为自动化操作我们使用selenium+java来解决这个问题
使用selenium自动化操作效果(git加载慢)
selenium是什么
Selenium是一个用于Web应用程序测试的工具。Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE,Mozilla和Firefox等。这个工具的主要功能包括:测试与浏览器的兼容性–测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能–创建衰退测试检验软件功能和用户需求。
利用模拟人工编辑粘贴来把需要迁移的数据迁移到新系统中。以下是具体步骤
0.把要迁移的编辑页面路径写入到文件中
selenium.txt里面是精确到编辑页的路径
1.新建一个java项目,并且加入各种依赖jar包
几个重要jar作用说明
jar名称 | 作用 |
---|---|
nekohtml-1.9.21.jar | 解析html的jar包 |
netty-3.5.2.Final.jar | NIO框架,是对 socket 网络编程的包装 |
selenium-api-2.44.0.jar | selenium的api包 |
selenium-chrome-driver-2.44.0.jar | 谷歌浏览器驱动 |
selenium-firefox-driver-2.44.0.jar | 火狐浏览器驱动 |
selenium-htmlunit-driver-2.44.0.jar | |
selenium-ie-driver-2.44.0.jar | ie浏览器驱动 |
selenium-java-2.44.0.jar | 存在于selenium上的工具包,能有效支持java数据编程 |
selenium-remote-driver-2.44.0.jar | 支持远程操控驱动包 |
selenium-safari-driver-2.44.0.jar | safari浏览器驱动 |
selenium-support-2.44.0.jar | 支持selenium的jar包 |
SeleniumTest-1.jar | 测试包 |
xalan-2.7.1.jar | 主要用于解析xml |
xercesImpl-2.11.0.jar | 主要用于解析xml |
xml-apis-1.4.01.jar | 主要用于解析xml |
2.SeleniumUtil.java工具类
|
|
3.业务代码
|
|
4.获取页面中的节点
有多种方式我这里就演示通过xpath路径获取,更多操作可以查下教程
5.最重要的干活的机器插件chromedriver.exe
要对应自己的chrome浏览器下载相应的版本并且放入到自己chrome浏览器下面
下载地址为chromedriver地址本次的chrome版本为v61,driver版本为v2.28
具体项目可拉取github中获取
selenium-java项目