国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

做網(wǎng)站 流量怎么抓錢網(wǎng)推廣公司

做網(wǎng)站 流量怎么抓錢,網(wǎng)推廣公司,用liferay做的網(wǎng)站,單頁面網(wǎng)站模板怎么做公司計(jì)劃系統(tǒng)的開展接口自動(dòng)化測試,需要我這邊調(diào)研一下主流的接口測試框架給后端測試(主要測試接口)的同事介紹一下每個(gè)框架的特定和使用方式。后端同事根據(jù)他們接口的特點(diǎn)提出一下需求,看哪個(gè)框架更適合我們。 需求 1、接口編寫…

公司計(jì)劃系統(tǒng)的開展接口自動(dòng)化測試,需要我這邊調(diào)研一下主流的接口測試框架給后端測試(主要測試接口)的同事介紹一下每個(gè)框架的特定和使用方式。后端同事根據(jù)他們接口的特點(diǎn)提出一下需求,看哪個(gè)框架更適合我們。

需求

1、接口編寫方便。
2、方便調(diào)試接口。
3、支持?jǐn)?shù)據(jù)初始化。
4、生成測試報(bào)告。
5、支持參數(shù)化。

### robot framework

優(yōu)點(diǎn)

  • 關(guān)鍵字驅(qū)動(dòng),自定義用戶關(guān)鍵字。

  • 支持測試日志和報(bào)告生成。

  • 支持系統(tǒng)關(guān)鍵字開發(fā),可擴(kuò)展性好。

  • 支持?jǐn)?shù)據(jù)庫操作。

缺點(diǎn)

  • 接口測試用例寫起來不簡潔。

  • 需要掌握特定語法。

 
  1. *** Settings ***

  2. Library RequestsLibrary

  3. Library Collections

  4. *** Test Cases ***

  5. test_get_event_list # 查詢發(fā)布會(huì)(GET請求)

  6. ${payload}= Create Dictionary eid=1

  7. Create Session event http://127.0.0.1:8000/api

  8. ${r}= Get Request event /get_event_list/ params=${payload}

  9. Should Be Equal As Strings ${r.status_code} 200

  10. log ${r.json()}

  11. ${dict} Set variable ${r.json()}

  12. #斷言結(jié)果

  13. ${msg} Get From Dictionary ${dict} message

  14. Should Be Equal ${msg} success

  15. ${sta} Get From Dictionary ${dict} status

  16. ${status} Evaluate int(200)

  17. Should Be Equal ${sta} ${status}

結(jié)果:不考慮,沒人愿意這么寫接口用例。


###JMeter

優(yōu)點(diǎn)

  • 支持參數(shù)化

  • 不需要寫代碼

缺點(diǎn)

缺點(diǎn):

  • 創(chuàng)建接口用例效率不高。

  • 不能生成查看每一個(gè)接口執(zhí)行情況的測試報(bào)告。

    總結(jié):不考慮,接口編寫不方便,最主要是不能生成測試報(bào)告,如果做接口性能的話可以考慮。

    ###HttpRunner

    優(yōu)點(diǎn):

  • 基于YAML/JSON格式,專注于接口本身的編寫。

  • 接口編寫簡單

  • 沒有編輯器插件對語法校驗(yàn),容易出錯(cuò)。

  • 官方文檔沒有詳細(xì)的說明。

  • 擴(kuò)展不方便。

  • 生成測試報(bào)告

  • 接口錄制功能。

 
  1. [

  2. {

  3. "config": {

  4. "name": "testcase description",

  5. "variables": [],

  6. "request": {

  7. "base_url": "http://127.0.0.1:5000",

  8. "headers": {

  9. "User-Agent": "python-requests/2.18.4"

  10. }

  11. }

  12. }

  13. },

  14. {

  15. "test": {

  16. "name": "test case name",

  17. "request": {

  18. "url": "/api/get-token",

  19. "headers": {

  20. "device_sn": "FwgRiO7CNA50DSU",

  21. "user_agent": "iOS/10.3",

  22. "os_platform": "ios",

  23. "app_version": "2.8.6",

  24. "Content-Type": "application/json"

  25. },

  26. "method": "POST",

  27. "date": {"sign": "958a05393efef0ac7c0fb80a7eac45e24fd40c27"}

  28. },

  29. "validate": [

  30. {"eq": ["status_code", 200]},

  31. {"eq": ["headers.Content-Type", "application/json"]},

  32. {"eq": ["content.success", true]},

  33. {"eq": ["content.token", "baNLX1zhFYP11Seb"]}

  34. ]

  35. }

  36. }]

總結(jié):可以考慮,至于接口數(shù)據(jù)的初始化可能需要單獨(dú)處理。


###gauge


BDD行為驅(qū)動(dòng)測試框架。

優(yōu)點(diǎn):

  • 行為文件與腳本文件分離,本質(zhì)上實(shí)現(xiàn)了數(shù)據(jù)驅(qū)動(dòng)。

  • 功能強(qiáng)大靈活,本質(zhì)上還用Python寫接口用例。

  • 自動(dòng)生成測試報(bào)告。

  • VS Code有支持插件

缺點(diǎn):

  • 門檻略高,需要了解BDD的用法。

  • 需要會(huì)markdworn語法

行為描述文件:

 
  1. ## test post request

  2. * post "http://httpbin.org/post" interface

  3. |key | status_code|

  4. |------|-----------|

  5. |value1|200 |

  6. |value2|200 |

  7. |value3|200 |

測試腳本:

 
  1. ……

  2. @step("post <url> interface <table>")

  3. def test_get_request(url, table):

  4. values = []

  5. status_codes = []

  6. for word in table.get_column_values_with_name("key"):

  7. values.append(word)

  8. for word in table.get_column_values_with_name("status_code"):

  9. status_codes.append(word)

  10. for i in range(len(values)):

  11. r = requests.post(url, data={"key": values[i]})

  12. result = r.json()

  13. assert r.status_code == int(status_codes[i])

總結(jié):推薦使用,BDD有一定門檻,看測試人員的學(xué)些能力和接受速度。


###Unittest+Request+HTMLRunner

利用現(xiàn)有的框架和庫自己定制。

優(yōu)點(diǎn):

  • 足夠靈活強(qiáng)大: 分層測試、數(shù)據(jù)驅(qū)動(dòng)、測試報(bào)告,集成CI...

缺點(diǎn):

  • 有一定的學(xué)習(xí)成本

數(shù)據(jù)文件:

 
  1. {

  2. "test_case1": {

  3. "key": "value1",

  4. "status_code": 200

  5. },

  6. "test_case2": {

  7. "key": "value2",

  8. "status_code": 200

  9. },

  10. "test_case3": {

  11. "key": "value3",

  12. "status_code": 200

  13. },

  14. "test_case4": {

  15. "key": "value4",

  16. "status_code": 200

  17. }}

測試用例:

 
  1. import requests

  2. import unittest

  3. from ddt import ddt, file_data

  4. @ddtclass InterfaceTest(unittest.TestCase):

  5. def setUp(self):

  6. self.url = "http://httpbin.org/post"

  7. def tearDown(self):

  8. print(self.result)

  9. @file_data("./data/test_data_dict.json")

  10. def test_post_request(self, key, status_code):

  11. r = requests.post(self.url, data={"key": key})

  12. self.result = r.json()

  13. self.assertEqual(r.status_code, status_code)

總結(jié):推薦使用,代碼相對簡單,功能足夠靈活。

 
  1. 我花了兩天時(shí)間整理這些框架,其實(shí)重點(diǎn)就是了解HttpRunner 和 gauge 。

  2. yg

  3. HttpRunner 沒有編輯器插件,本身就是一個(gè)YAML/JSON配置文件,所以配置寫錯(cuò)了,但只要是合法的YAML/JSON格式,也看不出來,只有運(yùn)行的過后才知道。就像你用記事本寫代碼一樣,只有運(yùn)行了才知道代碼有沒有寫錯(cuò)。

  4. 另外,擴(kuò)展起來也不是特別方便,單獨(dú)用python實(shí)現(xiàn)一些函數(shù):在json文件中

  5. ```{"device_sn": "${gen_random_string(15)}"}```

  6. 以這樣的方式引用```gen_random_string()``` 函數(shù)。

  7. gauge我已經(jīng)分享過兩篇基礎(chǔ)文章了,雖然用BDD拿來做接口理念不搭,但并不是不可以,唯一的缺點(diǎn)是用BDD來描述接口行為不合適,其他的都沒毛病,可以參數(shù)化,斷言寫起來也簡單,測試報(bào)告也漂亮,本質(zhì)上還是用Python實(shí)現(xiàn)一些功能,所以非常靈活。

  8. unittest + requests + HTMLTestRunner是我最熟悉的方案,幾乎沒什么短板。以前通過這種方案寫過很多測試用例,這次把ddt加上似乎更完美了。

http://aloenet.com.cn/news/30962.html

相關(guān)文章:

  • 無錫建設(shè)網(wǎng)站的公司湖南百度seo
  • 無錫兼職做網(wǎng)站電商培訓(xùn)內(nèi)容
  • 徐州提供網(wǎng)站建設(shè)報(bào)價(jià)表寧波seo網(wǎng)絡(luò)推廣優(yōu)化價(jià)格
  • 動(dòng)態(tài)網(wǎng)站開發(fā)平臺(tái)簡介什么叫seo
  • 購物網(wǎng)站策劃案廈門谷歌seo公司
  • 北京網(wǎng)站建設(shè)的價(jià)格中國最好的營銷策劃公司
  • 做班級的活動(dòng)的網(wǎng)站企業(yè)營銷策劃方案范文
  • 招聘H5在什么網(wǎng)站做最好搜索引擎排名
  • 用手機(jī)什么軟件做網(wǎng)站百度推廣怎么操作流程
  • 帶登錄網(wǎng)站模板網(wǎng)站建設(shè)的整體流程有哪些
  • 阿里云Windows網(wǎng)站建設(shè)廣東百度推廣的代理商
  • 自助建站系統(tǒng)免授權(quán)版企業(yè)查詢網(wǎng)
  • 網(wǎng)站開發(fā)專業(yè)就業(yè)培訓(xùn)學(xué)校石家莊網(wǎng)絡(luò)營銷網(wǎng)站推廣
  • 怎么免費(fèi)做個(gè)人網(wǎng)站互聯(lián)網(wǎng)營銷策略有哪些
  • 網(wǎng)站怎么做?企業(yè)培訓(xùn)的目的和意義
  • 一鍵清理加速北京網(wǎng)站優(yōu)化推廣方案
  • 做網(wǎng)站代理拉不到人常州網(wǎng)站推廣公司
  • 動(dòng)態(tài)網(wǎng)站設(shè)計(jì)主題長春seo培訓(xùn)
  • 金融跟單公司網(wǎng)站建設(shè)seo課程培訓(xùn)中心
  • 網(wǎng)站推廣怎么做2017注冊域名查詢網(wǎng)站官網(wǎng)
  • 做直播的在相親網(wǎng)站交友韓國搜索引擎排名
  • 做棋牌網(wǎng)站抓到會(huì)怎么量刑廈門seo新站策劃
  • 網(wǎng)站添加鏈接網(wǎng)站申請流程
  • 櫻花代碼htmlseo外包如何
  • 大同網(wǎng)站建設(shè)熊掌號(hào)制作網(wǎng)站的公司有哪些
  • 房地產(chǎn)平面設(shè)計(jì)主要做什么貴州二級站seo整站優(yōu)化排名
  • 太原制作網(wǎng)站代理公司注冊
  • 建筑公司網(wǎng)站md0095設(shè)計(jì)風(fēng)格荊門網(wǎng)絡(luò)推廣
  • 江西省贛州市地圖全圖寧波seo外包服務(wù)
  • 化妝品網(wǎng)站建設(shè)報(bào)告網(wǎng)店運(yùn)營公司