天天看點

自動化測試~參數化

介紹

hoenixAutotest中的參數化技術,包括了對元素定位、資料源的參數化。對于元素定位的參數化,有的場景下同一個頁面中的同一個元素在不同的流程中定位方法是不一樣的。這時候,為了能夠盡可能地複用腳本實作動态定位元素,就需要用到元素定位的參數化。

在自動化測試腳本的編寫過程中,可能需要用到很多資料,而某些資料可能是動态變化的、有規律的(例如:手機、郵箱、身份證等)、不關心具體内容的。這時候,就需要用到參數化來提高腳本的可複用性。簡單來說,就是把腳本中可變的部分寫在其他地方,避免了要經常修改腳本的工作。

  • 類型

PhoenixAutotest架構支援很多中類型的參數化,也能滿足大多數的情況。但,除此之外使用者還可以很友善地進行擴充、自定義;當然自定義部分,您可以看後面的章節。 這裡的類型包括:simple、freemarker、properties、page_ref、groovy、javascript、encrypt、callback、sequence等。

  • simple

顧名思義,simple為簡單實作的一種參數化。可以使用的變量包括:日期、身份證号碼、電子郵件、郵編、随機數字等。

${now}是目前日期的時間戳,為數字形式的日期

${now yyyy}年份字元串,例如:2017

${now MM-dd}年份字元串,例如:3-26

${now yyyy-MM-dd}年份字元串,例如:2017-3-26

${now MM-dd HH:mm}年份字元串,例如:3-26 12:00

${now yyyy-MM-dd HH:mm:ss}年份字元串,例如:2017-3-26 12:00:00

${id_card}身份證号碼

${email}電子郵件

${phone}手機号碼

${postcode}郵編

${random-60}随機數字,從0-60的随機數字

  • freemarker

使用了該類型後,架構會把資料當作freemarker模闆來進行解析。

  • properties

把參數化的具體資料會儲存在檔案dynamic.data.properties中。

  • page_ref

這種類型,可以讓您引用其他Page類中屬性的值。

  • groovy

架構會把資料當作groovy腳本來解析。

  • javascript

架構會把資料當作javascript腳本來解析。

  • encrypt

如果您的項目中有比較敏感的資料,可以采用加密的方式。填入的是密文,架構會根據給定的密鑰在使用的時候自動解密。采用該類型,需要配置檔案encrypt.properties。這裡要配置密鑰,例如:encrypt.key=123456。

  • callback

該類型的參數化實作本身沒有任何作用,但是它可以通過傳遞參數來使用其他任何一種參數化的實作。

  • sequence
  • 自定義