2017-01-27 37 views
4

我想在項目拆卸腳本中添加項目的端點。爲了獲得所有請求和測試請求的端點,語法是什麼,因爲用戶將在運行項目之前通過所有請求和測試請求分配端點。如何檢索服務的端點

我使用測試步驟見過一個例子,但我不希望通過測試步驟路線檢索:

testRunner.testCase.getTestStepByName("dd").getHttpRequest().getEndpoint(); 

推倒腳本兼用,日誌,背景,屈居第二項目變量。

感謝

+0

我相信,端點並非真正與項目相關,而是在服務或接口級別。你看過這裏 - https://www.soapui.org/functional-testing/properties/working-with-properties.html – Rao

+0

所以你認爲我需要調用腳本中的PServiceEndoint來檢索它嗎? – BruceyBandit

+0

你想達到什麼目的? – Rao

回答

6

基於對問題的更新信息,它看起來像你必須訪問端點項目的TearDown Script

還顯示出你需要執行同一套針對端點的不同base url測試。不確定即使您可能需要相應地使用憑據。

考慮到上述情況,很容易投影級別屬性。

在這裏,你會去:

  • 創建基本URL項目級別自定義屬性,說BASE_URL作爲屬性名稱和值http://10.0.0.1:8008。當然,根據需要根據要執行的測試將其更改爲實際值。
  • 同樣爲創建另一個項目級屬性,比如DOMAIN_NAME,並根據測試提供其值。
  • 雙擊服務/界面,單擊Service Endpoints選項卡。
  • 刪除所有現有的值。
  • 點擊+圖標添加新端點。
  • ${#Project#BASE_URL}作爲端點,並將${#Project#DOMAIN_NAME}作爲域值
  • 如果需要,您可以使用相同的方法獲取憑證。
  • 現在點擊Assign按鈕,然後從下拉列表中選擇All requests and Tests選項。
  • 同樣,如果您有多個服務/接口,請執行相同操作。

如何訪問TearDown Script中的上述值?

log.info "Endpoint : ${project.getPropertyValue('BASE_URL')}" 
log.info "Domain : ${project.getPropertyValue('DOMAIN_NAME')}" 

當你想改變domainbase url,只是改變了各自的項目屬性的值,在運行執行對不同的服務器/環境測試之前。

編輯:

(甚至沒有改變保存在項目值),使用SOAPUI_HOME/bin/testrunner實用程序在執行測試命令行的用於endpointdomain可以動態傳遞的值。有關更多詳細信息,請參閱documentation

+0

感謝您分享饒。我向我的經理顯示了你的答案,但是她想知道,如果沒有測試人員進入並寫入端點,她肯定沒有辦法做到這一點,因爲她傾向於測試人員從列表中選擇已填充的端點並分配給它? – BruceyBandit

+0

沒有得到你。是否要針對每個端點/域多次執行測試? – Rao

+0

實際上,您的方式在最終輸出方面是正確的,爲整個項目顯示了一個端點。但是,她不希望測試手動輸入端點,而只是從列表中選擇一個端點。有沒有辦法做到這一點? – BruceyBandit