簡體   English   中英

將我的對象存儲庫保存在selenium自動化測試框架中的最佳方法是什么

[英]What is the best way to keep my objects repository in selenium automation testing framework

我的xpath值是動態的 - 示例 - // label [text()= $ USERNAME $] - 我將在我的測試中用值“admin1”替換$ USERNAME $。 我可以點擊管理員,它需要我編輯頁面。

需要一個考慮內存執行時間,可靠性和測試性能的解決方案。

選項1.在每個頁面類中將它保存為私有靜態最終字符串,並為每個對象設置一個getter方法?

  1. 將其保存在屬性文件中,因為鍵值對加載文件並在需要時獲取值。 (為每個對象創建一個帶有靜態gettermethods的靜態類,它調用一個方法來加載屬性實例(屬性實例不是靜態的 - 值不會保留在內存中 - 我認為)並獲取鍵值將值作為字符串返回。加載的文件?

  2. @findby無法使用我認為因為我的測試會對同一個xpath有不同的值嗎?

  3. 還有其他選擇嗎?

您可以將所有對象定位器保存在Excel或JSON文件中。 我使用以下Coloumns將所有xpath保存在Excel中:

  1. ElementName - 為每個元素指定的唯一名稱
  2. 定位器 - 它可以包含xpath,css,className等。
  3. 類型 - 它類似於定位器標識其類型的指示(例如:ID,XPATH,CSS,CLASS,TEXT,NAME)
  4. PageName-這僅用於信息目的,用於定義哪些頁面元素屬於。

對於Case // label [text()= $ USERNAME $],您無需在Excel中定義此完整xpath。 你必須使用TEXT類型。 參考以下示例:

單擊此圖像以查看示例

從excel讀取定位器時,您可以生成xpath .//* [text()='LOCATOR_VALUE_READ_FROM_REPOSITORY']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM