cucumber


最近老大需要一個cucumber的測試項目,為不熟悉代碼可以寫測試用例的同事使用。所以被迫接觸學習了一段時間。

cucumber 用Given When Then 關鍵字寫feature,所以用cucumber的時候,需要先設計好feature的邏輯結構:eg

 

 

 call api可以用 rest-assured jar來實現,支持jsonpath(rest-assured自帶的jsonpath,也可以用

<!--<dependency>-->
<!--<groupId>com.jayway.jsonpath</groupId>-->
<!--<artifactId>json-path</artifactId>-->
<!--<version>2.4.0</version>-->
<!--</dependency>-->

)。並且cucumber內嵌Gson, 也支持多線程fyi。但是對於很復雜的json結構,寫起來比較麻煩,很難實現。所以我在項目中具體實現的時候,是將json轉為對象去處理,靈活度不夠,但是處理起來簡單省事。

在項目中遇到幾個典型的問題,分享記錄一下:

1 json轉對象時,date轉化出錯

解決辦法1 將對象中的date類型的屬性轉為String

         2 去掉json中的date數據

String json1 = str.replaceAll(".*\"([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})\",","\n");
String json2 = json1.replaceAll(",\n.*\"([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})\"","\n");
String json3 = json2.replaceAll(".*\"([0-9]{4})-([0-9]{2})-([0-9]{2})\",","\n");
String json = json3.replaceAll(",\n.*\"([0-9]{4})-([0-9]{2})-([0-9]{2})\"","\n");
在處理時,需注意json中的逗號問題,比如在處理
"date1": "2015-05-05T00:00:00",

"date2": "2015-05-05T00:00:00"
時,第一個是尾部有逗號需要去掉,第二個是尾部沒有逗號,但是需要去掉前面的逗號。

2 java.lang.SecurityException: Invalid signature file digest for Manifest main exception when run jar package;

解決辦法:

 

 3 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path exception when call api.

解決辦法:

 

 暫時就這么多

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM