接口測試

1. 接口測試,也是功能測試。php

  接口:xml格式,返回的數據一般都是json格式css

2. 客戶端:html、js、csshtml

      Android、object-c、swiftjava

      瀏覽器、app等等python

  服務端:java、php、python數據庫

  client serverjson

3. 接口測試:swift

  127.0.0.1:8000/pay?order_id=xxx&money=2699瀏覽器

   接口文檔包含url、請求方式get/post、請求參數、返回參數cookie

  get請求:不須要藉助工具,直接用瀏覽器

      url?name=小黑&sex=女&age=18

       abc     123

4. cookie、session

  cookie存在本地的一個鍵值對

    ymyg_login:219603e81aa3319699d3f17697f8b066

  session存在服務端的一個鍵值對  

    xssdnr_login : 219603e81aa3319699d3fa7697f8b066
    ymyg_login:219603e81aa3319699d3f17697f8b066

5. 總結

  測接口的話,要根據接口文檔來。

  get

  post:傳cookie、傳header、上傳文件

  post、get請求的區別

  http請求:

    url?name=xxx

    請求頭

    請求體

  1. get請求參數是在url後面的,只有url和請求頭,沒有請求體;

  2. post請求參數是在body裏面的,post請求有url、請求頭和請求體。

6. 怎麼寫接口測試用例:能夠用excel寫文檔

     

7. 怎麼用postman作自動化

   新建一個Collection,Collection中新建一個Request,get請求用Params傳參;post請求用Body傳參。

  postman參數化:請求中引用使用{{parameter_name}}

  參數化文件:第一行是參數名字,跟請求中引用的參數名字對應,下面寫參數的值,多個參數用英文逗號分隔

  請求須要登錄才能請求到,則通常狀況下「Headers」中是須要加cookie參數的。

  運行:點擊「Runner」-"Choose a collection or folder"中選擇要執行的請求,下面Iterations是循環次數,Data中選擇參數化文件,「Data File Type」中選擇「text/csv」,而後右側出現「Preview」,點擊Preview能看到參數化的值。配置好後點擊「Run collectName」就執行了。

    檢查點:postman請求中有「Tests」標籤,在它裏面寫校驗,有固定的格式,經常使用「Response body:C contains string」

  若是校驗結果的時候,結果中的數據也是須要參數化的,則把校驗的內容放入請求的參數化文件,而後「Tests」中選擇「Response body: C contains string」。出現下面:   

        pm.test("Body matches string", function () {
        pm.expect(pm.response.text()).to.include(「」);
       });

   include中不能直接使用「{{check}}」,這樣取不到參數化文件中的check列的值。只能經過函數獲取變量的值include(pm.variables.get("check"));這時運行就經過了。

  「Run Results」若是更改了請求或校驗,則不能使用Retry,要關掉並從新打開Runner。

  「Run Results」若是出現「This request does not have any tests.」,說明沒有保存請求,要在請求url右側點擊「Save」。

8. 自動化測試:說白了就是寫代碼幫你測試

  用自動化測試工具不能讀取數據庫運行測試用例,自動生成發送報告。

 測試開發:開發一些框架工具  

9. python數據類型:

  msg="don't worry"   #字符串  string
  msg2='你長得真"好看"'
  msg3='''don't worry,你長得真"好看"'''
  age=18    #int類型
  score=27.32   #float
  print('hello world!')
  print("hello world!")

10. if判斷

  #input接收輸入,且都轉成string類型
  #int()類型轉換,把變量轉成int類型
  #> < >= <= == !=
  score=input('請輸入成績:')
  print(type(score))    #type()獲取數據類型
  score=int(score)
  if score>=90:
    print('優秀')
  elif score<90 and score>=80: #加括號也行,(score<90)/(score+1)>5,有運算優先級加最好,美觀
    print('良好')
  elif score>=60 and score<80:
    print('及格')
  else:
    print('不及格')

11. while循環

  #猜數字的小遊戲,最多猜7次
  #1. 隨機產生一個數字
  #2. 循環7次
  #3. 輸入一個數字,int
  #4. 判斷大於仍是小於,仍是等於。若是是等於,遊戲結束break;
  #5. 小於,大於,循環次數+1,提示大了仍是笑了
import random
number=random.randint(1,100)    #隨機產生一個1-100之間的整數
count=0
while count<7:
  guess=input('請輸入一個1-100之間的數字')
  guess=int(guess)
  count=count+1
  if guess>number:
    print('猜大了')
    continue
  elif guess<number:
    print('猜小了')
    continue
  else:
    print('恭喜你,猜對了',number)
    break
else:
  print('錯誤次數用完了')
#while對應一個else,在循環正常結束以後執行else裏面的代碼

12. for循環

#count自動從0開始,而且自動加1
# for count in range(5):
# print('添加一個用戶')
import random
number=random.randint(1,100) #隨機產生一個1-100之間的整數
for count in range(7):
guess=input("請輸入一個1-100之間的數字")
guess=int(guess)
if guess > number:
print("猜大了")
continue
elif guess <number:
print("猜小了")
continue
else:
print('恭喜你,猜對了',number)
break
else:
print("錯誤次數用完了")

13. 字符串格式化 

import datetime
msg='歡迎xxx登錄,今天的日期是xxx'
username='test'
# date='2019-07-27'
date=datetime.datetime.today()
# msg='歡迎'+username+'登錄,今天的日期是'+date #效率不高
msg2='歡迎%s登錄,今天的日期是%s' % (username,date) #用了%s,無論後面的變量是inth愛是什麼類型的都沒有關係
print(msg)
print(msg2)

 14. 寫一個登錄的程序,最多登錄失敗3次,輸入帳號密碼,若是登錄成功,程序結束,提示歡迎xx登錄,今天的日期是xx

  登錄失敗,從新登錄。要判斷輸入是否爲空,什麼也不輸入,輸入空格都算空。

相關文章
相關標籤/搜索