python调用robotframework_robotframework+python接口自动化的点滴记录(2)
1.在循環體內,賦值語句的前后名稱不能一樣,否則在跑循環的第二次時就會報錯:TypeError: not all arguments converted during string formatting
這樣寫是錯的:
${設置計劃接口_請求body}=? string format? ${設置計劃接口_請求body}? ${cardId}? ${fundCode}? ${investmentPeriod}
這樣寫是對的:
${設置計劃接口_請求body-new}=? string format? ${設置計劃接口_請求body}? ${cardId}? ${fundCode}? ${investmentPeriod}
2.在循環體內,每次循環取值不一樣的參數,則需要在body的時候使用%s,然后在用例中進行替換。
Body的寫法:
*** Variables ***
${設置計劃接口_請求body}
...? ? ? ? ? ? {
...? ? ? ? ? ? ? ? ? ? ?"amount"? ?: "${amount}",
...? ? ? ? ? ? ? ? ? ? ?"cardId"? ?: "%s",
...? ? ? ? ? ? ? ? ? ? ?"fundCode" : "%s",
...? ? ? ? ? ? ?"investmentPeriod" : "%s"
...? ? ? ? ? ? }
用例中:
*** Test Cases ***
${設置計劃接口_請求body-new}=? string format? ${設置發動碼接口_請求body}? ${cardId}? ${fundCode}? ${investmentPeriod}
3.將金額的格式進行轉變,例如將2000轉為2,000.00
定義${amount}為2000
${expectAmount}=? Format number to String? ? {:,.2f}? ${amount}
如果最終的值需要顯示成2,000.00 元,則直接在使用時后面加上元。如下:
${expectResult}=? create dictionary? amount ${expectAmount} 元? amountDesc? ${amountDesc}
4.將int型轉成string。
數據庫查到的值是int型的,但接口返回是string型,則可以通過如下方式轉:
${planId-new}=? transfer to string? ${planId}
5.以上的string format,Format number to String,transfer to string都是封裝好的關鍵字。
我們看其中的Format number to String的具體實現。
Format number to String
[Arguments]? ?${format}? ?${number}
${number_string}=? format number? ?${format}? ?${number}
[Return]? ${number_string}
再看一下format number方法怎么寫的:
def format_number(format_str,number):
return format_str.format(number)
實現的方式是先寫了方法去調用原始的format方法,再去寫個關鍵字調用自己寫的方法。為什么要這樣做?一方面是因為python的原始方法在robotframework中是不能直接用的,另一方面,如果原始方法發生變化,只需要改動自己封裝的方法,便于維護。
本文由51ste.com網友編輯,未經授權,不得轉載使用上述作品盈利;個人轉載,需標明作者及出處。
總結
以上是生活随笔為你收集整理的python调用robotframework_robotframework+python接口自动化的点滴记录(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微服务分布式电商项目《谷粒商城》学习笔记
- 下一篇: python tablewidget 颜