说实话对整个系统都不是了解的很清楚,想要讲一下ssm和bigs的区别我都以为有点分不清楚,可能就是两种不一样的方式来爬取数据,到后面实际上是有要作一个compare的功能的,但如今了解这些也没有用,先慢慢看逻辑吧。数据库
最近的task是,要在原有QA工具上面,新增功能:在xlsx上新加4个rowjson
QA工具总体代码看起来很少,可是我以为比较困难的部分,就是每一次他都会配置一些环境,导入properties,如今对那些properties分别表明什么,有什么用,都不是很清楚,只能直接用,看到不清楚的东西就感受很不安啊。数组
并且这也是我第一次要bat包来跑程序,很酷炫,以前一直是在本地放在tomcat跑或者是直接在myeclise上面,可能到后面,咱们写完的程序,都会像咱们以前所说的,打包成jar包,而后能够直接跑,酷炫。tomcat
咱们要跑的应该是这个,这个包的功能就是把对应的Excel里面填的东西,转换成request,像模拟以前手工测vessel和route同样把请求发送到solr,而后返回的response给存到本地。其实他会把Excel里面的东西,加到咱们预先配置好的model里面,其实就是一个xml,里面是一些写死了的格式,而Excel表格里面你只要填上一些必要的搜索信息就好了。工具
如今就慢慢看一下整个代码的逻辑把。测试
main方法进来之后,跟我以前所说的同样,就是会先配置环境,导入这个properties。3d
进入这个方法cdn
在这个方法里面获取properties里面的内容,放到configuration里面。xml
获取到properties里面EnvironmentList的值,顾名思义就是环境的list,以后可能会有不一样的环境,目前list里面就只有一个。若是后期list里面有别的,就会分割而后存到options这个数组里面。对象
把list里面的内容显示在Joption让人选,而后选择的环境返回。
再回到main方法,声明一个File放咱们打开跑的Excel。
获取他的绝对路径。
这个checkExcelAvailable方法要验证Excel的有效性,但里面是这样子验证的:
它用了file的renameto方法,
重命名为它自己,可是他会先进行一个验证,他会先找这个文件是否存在,不存在就会返回false。
我有点疑惑 为何这里不直接用exist方法呢?
验证成功之后,会将文件备份,其实就是生成一个新的Excel,而后copy。
获取Excel的输入流,XSSFworkbook是Excel的工具类。
这里就获取到表格。
rowCount是全部行数,是经过Excel工具类的getLastRowNum获取的,在这里它遍历每一行,把每一行的数据都放入recordModel中,再放入一个recordModelList。但我这里有点不明白,为何这里也要把整个Excel放到recordModel这个对象里面。
判断recordModelList不为空以后,就是开拼接request了。
首先连接数据库
传入env环境下连接数据库的所须要的数据。
拼接testCase
他会根据carrier_scac加上时间生成一个Id。
生成各类参数,这里还会根据根据scac和por生成文件夹,而后把文件夹路径存在testCodeFolder,后面生成的input和output就会放在这里。
根据选择的参数会生成对应的input的文件。
其实就是把recordModel里面的数据放进json对象里面。(或者是jms)
发送request
我看了一下,就是把生成的input里面的东西发送到对应的连接就好了,跟手工测试差很少。
后面就是Compare的事情了 就大体看了一下了。