說實話對整個系統都不是瞭解的很清楚,想要講一下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的事情了 就大體看了一下了。