<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      使用Python+Flask+MySQL+Redis開(kāi)發(fā)簡(jiǎn)單接口實(shí)例+使用Python+Requests+Pytest+YAML+Allure 實(shí)現(xiàn)接口自動(dòng)化【杭州多測(cè)師】【杭州多測(cè)師_王sir】

      一)使用Python+Flask+MySQL+Redis開(kāi)發(fā)簡(jiǎn)單接口實(shí)例

      flaskDemo框架

      本接口項(xiàng)目的技術(shù)選型:Python+Flask+MySQL+Redis,通過(guò) Python+Falsk 來(lái)開(kāi)發(fā)接口,使用 MySQL

      來(lái)存儲(chǔ)用戶信息,使用 Redis 用于存儲(chǔ)token,目前為純后端接口,暫無(wú)前端界面,可通過(guò) Postman、Jmeter、Fiddler 等工具訪問(wèn)請(qǐng)求接口。

      項(xiàng)目部署

      首先,下載項(xiàng)目源碼后,在根目錄下找到 requirements.txt 文件,然后通過(guò) pip 工具安裝 requirements.txt 依賴,執(zhí)行命令:

      pip3 install -r requirements.txt

       

      接著,將項(xiàng)目部署起來(lái),在本項(xiàng)目中其實(shí)就是利用 Python 執(zhí)行 app.py 文件,以下為我在Linux上的部署命令。

      # /root/flaskDemo/app.py表示項(xiàng)目根路徑下的app.py啟動(dòng)入口文件路徑
      # /root/flaskDemo/flaskDemo.log表示輸出的日志文件路徑
      nohup python3 /root/flaskDemo/app.py >/root/flaskDemo/flaskDemo.log 2>&1 &

       

      數(shù)據(jù)庫(kù)設(shè)計(jì)

      數(shù)據(jù)庫(kù)建表語(yǔ)句如下:

      CREATE TABLE `user` (
        `id` int(11) NOT NULL AUTO_INCREMENT,
        `username` varchar(20) NOT NULL,
        `password` varchar(255) NOT NULL,
        `role` tinyint(1) NOT NULL,
        `sex` tinyint(1) DEFAULT NULL,
        `telephone` varchar(255) NOT NULL,
        `address` varchar(255) DEFAULT NULL,
        PRIMARY KEY (`id`),
        UNIQUE KEY `telephone` (`telephone`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

       

      user表中各字段對(duì)應(yīng)含義如下:

      id:用戶id號(hào),自增長(zhǎng)
      username:用戶名
      password:密碼
      role:用戶角色,0表示管理員用戶,1表示普通用戶
      sex:性別,0表示男性,1表示女性,允許為空
      telephone:手機(jī)號(hào)
      address:聯(lián)系地址,允許為空

       

      接口請(qǐng)求示例

      • 獲取所有用戶接口請(qǐng)求示例(可直接在瀏覽器輸入欄請(qǐng)求):
      請(qǐng)求方式:GET
      請(qǐng)求地址:http://127.0.0.1:9999/users

       

      • 獲取wintest用戶接口請(qǐng)求示例(可直接在瀏覽器輸入欄請(qǐng)求):
      請(qǐng)求方式:GET
      請(qǐng)求地址:http://127.0.0.1:9999/users/wintest

       

      • 用戶注冊(cè)接口請(qǐng)求示例:
      請(qǐng)求方式:POST
      請(qǐng)求地址:http://127.0.0.1:9999/register
      請(qǐng)求頭:
      Content-Type: application/json
      
      Body:{"username": "wintest5", "password": "123456", "sex": "1", "telephone":"13500010005", "address": "上海市黃浦區(qū)"}

       

      • 用戶登錄接口請(qǐng)求示例:
      請(qǐng)求方式:POST
      請(qǐng)求地址:http://127.0.0.1:9999/login
      請(qǐng)求頭:
      Content-Type: application/x-www-form-urlencoded
      
      Body:username=wintest&password=123456

       

      • 修改用戶接口請(qǐng)求示例( token 可以從用戶登錄成功后的接口返回?cái)?shù)據(jù)中獲取):
      請(qǐng)求方式:PUT
      請(qǐng)求地址:http://127.0.0.1:9999/update/user/3
      請(qǐng)求頭:
      Content-Type: application/json
      
      Body:{"admin_user": "wintest", "token": "f54f9d6ebba2c75d45ba00a8832cb593", "sex": "1", "address": "廣州市天河區(qū)", "password": "12345678", "telephone": "13500010003"}

       

      • 刪除用戶接口請(qǐng)求示例( token 可以從用戶登錄成功后的接口返回?cái)?shù)據(jù)中獲取)::
      請(qǐng)求方式:POST
      請(qǐng)求地址:http://127.0.0.1:9999/delete/user/test
      請(qǐng)求頭:
      Content-Type: application/json
      
      Body:{"admin_user": "wintest", "token": "wintest1587830406"}

       

      二)在centos里面搭建redis的步驟
      1、先下載redis ==》5版本的就可以了

       

      
      

       2、上傳到centos里面、解壓、然后安裝gcc庫(kù)、在redis目錄下面通過(guò)make和make install編譯

       

       3、輸入如下的命令啟動(dòng)redis的客戶端和服務(wù)端、然后設(shè)置密碼

      redis-cli

      config get requirepass

      config set requirepass 123456

      shutdown

      redis-cli -p 6379 -a 123456

      127.0.0.1:6379> ping
      PONG  ==》出現(xiàn)這個(gè)PONG就說(shuō)明連接上了

      [root@localhost redis-5.0.14]# redis-cli
      127.0.0.1:6379>
      127.0.0.1:6379> auth 123456   ==》開(kāi)始需要輸入密碼了
      OK
      127.0.0.1:6379>
      127.0.0.1:6379> config get requirepass   ==》已經(jīng)密碼設(shè)置成功了

      1) "requirepass"
      2) "123456"

      
      
      三)在centos里面配置
      1、use mysql
      2、把localhost和%用戶都設(shè)置具有遠(yuǎn)程權(quán)限
      3、service mysqld restart啟動(dòng)數(shù)據(jù)庫(kù)
      4、service iptables stop關(guān)閉防火墻
      5、通過(guò)pip3 install -r requirements.txt安裝完常用的庫(kù)

      四)使用Python+Requests+Pytest+YAML+Allure 實(shí)現(xiàn)接口自動(dòng)化

      pytestDemo

      本項(xiàng)目實(shí)現(xiàn)接口自動(dòng)化的技術(shù)選型:Python+Requests+Pytest+YAML+Allure ,主要是針對(duì)本人的一個(gè)接口項(xiàng)目來(lái)開(kāi)展的,通過(guò) Python+Requests 來(lái)發(fā)送和處理HTTP協(xié)議的請(qǐng)求接口,使用 Pytest 作為測(cè)試執(zhí)行器,使用 YAML 來(lái)管理測(cè)試數(shù)據(jù),使用 Allure 來(lái)生成測(cè)試報(bào)告。

      相關(guān)接口項(xiàng)目:使用 Python+Flask+MySQL+Redis 開(kāi)發(fā)簡(jiǎn)單接口實(shí)例

      項(xiàng)目說(shuō)明

      本項(xiàng)目在實(shí)現(xiàn)過(guò)程中,把整個(gè)項(xiàng)目拆分成請(qǐng)求方法封裝、HTTP接口封裝、關(guān)鍵字封裝、測(cè)試用例等模塊。

      首先利用Python把HTTP接口封裝成Python接口,接著把這些Python接口組裝成一個(gè)個(gè)的關(guān)鍵字,再把關(guān)鍵字組裝成測(cè)試用例,而測(cè)試數(shù)據(jù)則通過(guò)YAML文件進(jìn)行統(tǒng)一管理,然后再通過(guò)Pytest測(cè)試執(zhí)行器來(lái)運(yùn)行這些腳本,并結(jié)合Allure輸出測(cè)試報(bào)告。

      當(dāng)然,如果感興趣的話,還可以再對(duì)接口自動(dòng)化進(jìn)行Jenkins持續(xù)集成。

      項(xiàng)目部署

      首先,下載項(xiàng)目源碼后,在根目錄下找到 requirements.txt 文件,然后通過(guò) pip 工具安裝 requirements.txt 依賴,執(zhí)行命令:

      pip3 install -r requirements.txt

       

      接著,修改 config/setting.ini 配置文件,在Windows環(huán)境下,安裝相應(yīng)依賴之后,在命令行窗口執(zhí)行命令:

      pytest
      

      注意:因?yàn)槲疫@里是針對(duì)自己的接口項(xiàng)目進(jìn)行測(cè)試,如果想直接執(zhí)行我的測(cè)試用例來(lái)查看效果,需要提前部署上面提到的 flaskDemo 接口項(xiàng)目。

      項(xiàng)目結(jié)構(gòu)

      • api ====>> 接口封裝層,如封裝HTTP接口為Python接口
      • common ====>> 各種工具類
      • core ====>> requests請(qǐng)求方法封裝、關(guān)鍵字返回結(jié)果類
      • config ====>> 配置文件
      • data ====>> 測(cè)試數(shù)據(jù)文件管理
      • operation ====>> 關(guān)鍵字封裝層,如把多個(gè)Python接口封裝為關(guān)鍵字
      • pytest.ini ====>> pytest配置文件
      • requirements.txt ====>> 相關(guān)依賴包文件
      • testcases ====>> 測(cè)試用例

      關(guān)鍵字封裝說(shuō)明

      關(guān)鍵字應(yīng)該是具有一定業(yè)務(wù)意義的,在封裝關(guān)鍵字的時(shí)候,可以通過(guò)調(diào)用多個(gè)接口來(lái)完成。在某些情況下,比如測(cè)試一個(gè)充值接口的時(shí)候,在充值后可能需要調(diào)用查詢接口得到最新賬戶余額,來(lái)判斷查詢結(jié)果與預(yù)期結(jié)果是否一致,那么可以這樣來(lái)進(jìn)行測(cè)試:

      • 1, 首先,可以把 充值-查詢 的操作封裝為一個(gè)關(guān)鍵字,在這個(gè)關(guān)鍵字中依次調(diào)用充值和查詢的接口,并可以自定義關(guān)鍵字的返回結(jié)果。
      • 2, 接著,在編寫測(cè)試用例的時(shí)候,直接調(diào)用關(guān)鍵字來(lái)進(jìn)行測(cè)試,這時(shí)就可以拿到關(guān)鍵字返回的結(jié)果,那么斷言的時(shí)候,就可以直接對(duì)關(guān)鍵字返回結(jié)果進(jìn)行斷言。

      測(cè)試報(bào)告效果展示

      在命令行執(zhí)行命令:pytest 運(yùn)行用例后,會(huì)得到一個(gè)測(cè)試報(bào)告的原始文件,但這個(gè)時(shí)候還不能打開(kāi)成HTML的報(bào)告,還需要在項(xiàng)目根目錄下,執(zhí)行命令啟動(dòng) allure 服務(wù):

      # 需要提前配置allure環(huán)境,才可以直接使用命令行
      allure serve ./report
      

      最終,可以看到測(cè)試報(bào)告的效果圖如下:

      image.png



      五)通過(guò)如上接口實(shí)例和接口框架做了優(yōu)化可以參考
      https://zhuanlan.zhihu.com/p/459792646
       


      
      














      posted @ 2022-07-16 17:56  多測(cè)師_樹(shù)哥  閱讀(810)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲人成电影网站色mp4| 在线无码av一区二区三区| 开心五月婷婷综合网站| 久久亚洲精品情侣| 成人无码潮喷在线观看| 美日韩在线视频一区二区三区| 在线亚洲午夜片av大片| 国产成人av大片大片| 怡春院久久国语视频免费| 18岁日韩内射颜射午夜久久成人 | 亚洲人黑人一区二区三区| 蕉岭县| 日韩精品国内国产一区二| 在线视频中文字幕二区| 97欧美精品系列一区二区| 亚洲国产日韩一区三区| 亚洲中文字幕一区二区| 免费观看日本污污ww网站| 国内精品久久久久久久97牛牛| 国产一区一一区高清不卡| 国产尤物精品自在拍视频首页| 常德市| 亚洲欧美在线观看品| 中文字幕无码视频手机免费看 | 四虎永久免费很黄的视频| 成人午夜在线播放| 野花香视频在线观看免费高清版| 国产精品综合av一区二区| 亚洲女同在线播放一区二区| 欧美成人一区二区三区不卡| 国模雨珍浓密毛大尺度150p| 国产成人精品午夜在线观看| 欧美高清狂热视频60一70| 午夜福利你懂的在线观看| 国产一级r片内射免费视频| 国产精品嫩草99av在线| 日韩人妻无码一区二区三区99| 四虎成人在线观看免费| 成人自拍小视频在线观看| 日韩精品一区二区三区激情视频| 男女激情一区二区三区|