為什么要做接口自動(dòng)化框架
1、業(yè)務(wù)與配置的分離
2、數(shù)據(jù)與程序的分離;數(shù)據(jù)的變更不影響程序
3、有日志功能,實(shí)現(xiàn)無(wú)人值守
4、自動(dòng)發(fā)送測(cè)試報(bào)告
5、不懂編程的測(cè)試人員也可以進(jìn)行測(cè)試
正常接口測(cè)試的流程是什么?
確定接口測(cè)試使用的工具----->配置需要的接口參數(shù)----->進(jìn)行測(cè)試----->檢查測(cè)試結(jié)果----->生成測(cè)試報(bào)告
測(cè)試的工具:python+requests
接口測(cè)試用例:excel
一、接口框架如下:
1、action包:用來(lái)存放關(guān)鍵字函數(shù)
2、config包:用來(lái)存放配置文件
3、TestData:用來(lái)存放測(cè)試數(shù)據(jù),excel表
4、Log包:用來(lái)存放日志文件
5、utils包:用來(lái)存放公共的類
6、運(yùn)行主程序interface_auto_test.py
7、Readme.txt:告訴團(tuán)隊(duì)組員使用改框架需要注意的地方
二、接口的數(shù)據(jù)規(guī)范設(shè)計(jì)---Case設(shè)計(jì)
一個(gè)sheet對(duì)應(yīng)數(shù)據(jù)庫(kù)里面一張表
APIsheet存放
編號(hào);從1開(kāi)始
接口的名稱(APIName);
請(qǐng)求的url(RequestUrl);
請(qǐng)求的方法(RequestMethod);
傳參的方式(paramsType):post/get請(qǐng)求方法不一樣
用例說(shuō)明(APITestCase)
是否執(zhí)行(Active)部分接口已測(cè)通,下次不用測(cè)試,直接把這里設(shè)置成N,跳過(guò)此接口
post與get的區(qū)別
查看post詳情
post請(qǐng)求參數(shù)一般是json串,參數(shù)放在from表單里面;參數(shù)一般不可見(jiàn),相對(duì)來(lái)說(shuō)安全性高些
查看get詳情
get請(qǐng)求參數(shù)一般直接放在url里面
2.1注冊(cè)接口用例
RequestData:請(qǐng)求的數(shù)據(jù)
(開(kāi)發(fā)制定的傳參方式)
RelyData:數(shù)據(jù)依賴
ResponseCode:響應(yīng)code
ResponseData:響應(yīng)數(shù)據(jù)
DataStore:存儲(chǔ)的依賴數(shù)據(jù);如果存在數(shù)據(jù)庫(kù)里面,在表里增加一個(gè)字段用來(lái)存依賴的數(shù)據(jù)
(存儲(chǔ)的方式是編寫接口自動(dòng)化的人員來(lái)設(shè)定的存儲(chǔ)方式)
CheckPoint:檢查點(diǎn)
Active:是否執(zhí)行
Status:執(zhí)行用例的狀態(tài),方便查看用例是否執(zhí)行成功
ErrorInfo:case運(yùn)行失敗,失敗的錯(cuò)誤信息;eg:是也本身的原因還是case設(shè)置失敗,還是其他原因
2.2登錄接口用例
RequestData:請(qǐng)求的數(shù)據(jù)
(開(kāi)發(fā)制定的傳參方式)
RelyData:數(shù)據(jù)依賴
(存儲(chǔ)的方式是編寫接口自動(dòng)化的人員來(lái)設(shè)定的存儲(chǔ)方式)
ResponseCode:響應(yīng)code
ResponseData:響應(yīng)數(shù)據(jù)
DataStore:存儲(chǔ)的依賴數(shù)據(jù);如果存在數(shù)據(jù)庫(kù)里面,在表里增加一個(gè)字段用來(lái)存依賴的數(shù)據(jù)
(存儲(chǔ)的方式是編寫接口自動(dòng)化的人員來(lái)設(shè)定的存儲(chǔ)方式)
CheckPoint:檢查點(diǎn)
Active:是否執(zhí)行
Status:執(zhí)行用例的狀態(tài),方便查看用例是否執(zhí)行成功
ErrorInfo:case運(yùn)行失敗,失敗的錯(cuò)誤信息;eg:是也本身的原因還是case設(shè)置失敗,還是其他原因
重點(diǎn)說(shuō)明下RelyData:數(shù)據(jù)依賴
采取的是字典:key:value來(lái)存儲(chǔ)數(shù)據(jù)格式;
{"request":{"username":"register->1","password":"register->1"},"response":{"code":"register->1"}}
格式化之后:
1 2 3 4 5 6 7 8 9 |
|
三、創(chuàng)建utils包:用來(lái)存放公共的類
3.1 ParseExcel.py 操作封裝excel的類(ParseExcel.py)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
|
3.2 封裝get/post請(qǐng)求(HttpClient.py)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
|
3.3 封裝MD5(md5_encrypt)
1 2 3 4 5 6 7 8 9 10 |
|
3.4 封裝Log
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
|
3.5 封裝發(fā)送Email類
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
|
四、 創(chuàng)建config包 用來(lái)存放公共的參數(shù)、配置文件、長(zhǎng)時(shí)間不變的變量值
創(chuàng)建public_data.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
五、創(chuàng)建TestData目錄,用來(lái)存放測(cè)試文件
inter_test_data.xlsx
六、創(chuàng)建action包,用來(lái)存放關(guān)鍵字函數(shù)
6.1 解決數(shù)據(jù)依賴 (GetRely.py)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
|
6.2 解決數(shù)據(jù)存儲(chǔ)(RelyDataStore.py)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
6.3 校驗(yàn)數(shù)據(jù)結(jié)果(CheckResult.py)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
6.4 往excel里面寫結(jié)果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
七、創(chuàng)建Log目錄用來(lái)存放日志
八、主函數(shù)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
|
?現(xiàn)在我也找了很多測(cè)試的朋友,做了一個(gè)分享技術(shù)的交流群,共享了很多我們收集的技術(shù)文檔和視頻教程。
如果你不想再體驗(yàn)自學(xué)時(shí)找不到資源,沒(méi)人解答問(wèn)題,堅(jiān)持幾天便放棄的感受
可以加入我們一起交流。而且還有很多在自動(dòng)化,性能,安全,測(cè)試開(kāi)發(fā)等等方面有一定建樹(shù)的技術(shù)大牛
分享他們的經(jīng)驗(yàn),還會(huì)分享很多直播講座和技術(shù)沙龍
可以免費(fèi)學(xué)習(xí)!劃重點(diǎn)!開(kāi)源的?。。?qq群號(hào):485187702【暗號(hào):csdn11】
最后感謝每一個(gè)認(rèn)真閱讀我文章的人,看著粉絲一路的上漲和關(guān)注,禮尚往來(lái)總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走!?希望能幫助到你!【100%無(wú)套路免費(fèi)領(lǐng)取】
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-839089.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-839089.html
到了這里,關(guān)于python+requests接口自動(dòng)化框架的實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!