1. 程式人生 > 程式設計 >Python介面測試結果集實現封裝比較

Python介面測試結果集實現封裝比較

引言

  介面測試執行完後,我們需要進行斷言,斷言的主要目的是用程式碼來判斷實際結果和預期結果是否一致,這跟手工測試中用肉眼去判斷是一樣的思路。既然這樣,我們可以將已知的預期結果和未知的實際結果簡單的封裝成一個類,然後寫一個比較的函式來判斷,最後得到結果。

知識點預熱

  在講程式碼之前,先了解一下python的運算子is和==。可能有些人經常用,但是卻不知道是什麼意思,知其然而不知其所以然。

python物件包括三個基本要素:id(身份標識)、type(資料型別)和value(值)。

1、"is" 是身份運算子,判斷兩個物件是否相同,是判斷id是否相同,也就是記憶體地址是否相同。

2、"=="是比較運算子,判斷兩個物件的值是否相同,也就是value。

示例:

# 數值型

Python介面測試結果集實現封裝比較

# 字串

Python介面測試結果集實現封裝比較

# 元組

Python介面測試結果集實現封裝比較

# 列表

Python介面測試結果集實現封裝比較

# 字典

Python介面測試結果集實現封裝比較

# 集合

Python介面測試結果集實現封裝比較

結論:通過上面幾個例子可以看出,兩個物件只有int和str的時候,a is b才為True。而當a和b是tuple,list,dict或set型時,a is b為False。

  封裝

  上面已經介紹瞭如何比較兩個物件是否相同,那麼我們在比較兩個結果,實際結果和預期結果是否相同也可以用這種方法,但是一定要記住是比較value還是記憶體地址。現在我簡單對判斷測試結果進行封裝,不過這裡我用的是包含,當然你可以用"=="。

具體程式碼:

__author__ = 'Leo'
 
 
class CompareStr(object):
  def is_contains(self,str1,str2):
    """
    判斷預期結果與實際結果是否相同
    :param str1: 預期結果
    :param str2: 實際結果
    :return flag: 標記
    """
    self.flag = None
    if str1 in str2:
      self.flag = True
    else:
      flag = False
    return self.flag
 
if __name__ == '__main__':
  cs = CompareStr()
  print(cs.is_contains('123','123456'))

執行結果:

Python介面測試結果集實現封裝比較

  總結

  以上內容是一個簡單的知識點,簡單進行封裝。小知識點容易被忽略,記一記總是好的。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。