2010-01-15 65 views
9

我正在作爲基於Rest API的系統上的測試員工作。我的部分工作是使用不同的應用程序將POST文件發送到Rest API,然後通過Rest Client直接訪問API以驗證XML是否正確。可以通過oauth處理登錄的REST客戶端

到目前爲止,我一直在使用RESTClient firefox插件。

但是現在我們正在擺脫舊有的登錄,轉而使用Oauth。這一切都很好,但它使得測試變得更加困難,因爲我無法(不知道該如何做?)如何使用我正在使用的REST客戶端訪問Rest API。而且我不知道任何其他可以做到這一點的REST客戶端。

我需要一個可以通過oauth處理登錄的REST客戶端/ REST瀏覽器。

更新:
嗨。我仍在尋找更多可以處理Oauth的REST客戶端。所以如果你知道我會喜歡下面的帖子。

回答

1

原因RESTClient不支持oauth,但新版本尚未發佈。

結帳從SourceForge上的最新的代碼
http://sourceforge.net/projects/restclient/develop
,並使用這些文件替換您的RESTClient實現(應該在你的Firefox配置文件目錄
http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile找到)。

注意:由於我們的系統不需要,我不得不破解源代碼並刪除「realm」參數。根據Oauth規範領域是可選的,我已經要求RESTClient的開發人員在未來的版本中使其成爲可選項。

1

沒有什麼能夠阻止您在使用OAuth身份驗證時手動繼續測試REST API。 OAuth的根本要求您發送額外的參數:第一個是你談判OAuth技巧來獲得請求令牌並換取一個訪問令牌,然後每個請求有必要OAuth parametersoauth_consumer_keyoauth_tokenoauth_signature_methodoauth_signatureoauth_timestampoauth_nonce) 。您需要使用單獨的工具來執行簽名(除非您正在測試的產品願意使用PLAINTEXT作爲簽名方法),但您可以將所有這些值手動複製到當前的手動工具中。

如果這聽起來像很多工作,你是對的!我認爲現在是切換到自動化測試的好時機。 Libraries exist對於大多數語言來以編程方式使用OAuth服務,並將處理所有這些參數併爲您簽名。您可以構建一個通用工具,讓手動測試人員手動指定URL和參數,或者進一步編寫可自動完成所有生成和驗證的工作。

更新:對於從命令行進行一些探索性測試,使用類似curl的工具來處理一些OAuth參數和簽名肯定會有幫助。檢查出oauth-proxy,它可能適合你 - 它的目的就是爲了在命令行上探索API。或者您可能會發現,針對您的特定探索,您希望圍繞oauth-proxy構建腳本,或者針對不同語言的OAuth庫之一構建工具。

+0

謝謝你的回答。我擔心這是使用我們當前工具的阻力,並且您確認了它。我們已經完成了自動化測試,但我們還需要使用REST Client進行手動探索性測試。 我不能相信沒有一個開源的工具。 – 2010-01-18 08:42:19

+0

是的,這是一個很好的觀點,@Jonas。有時您需要對API進行手動探索性測試。我已經爲oauth-proxy添加了一個鏈接,可能適用於您,並且我很想知道其他這樣的便利工具。 – npdoty 2010-01-19 00:20:41

+0

感謝您的幫助。我設法找到了一個可以做我需要的工具。請參閱下面的答案。 – 2010-01-20 14:24:47

6

我也在尋找這樣的事情,因爲這個問題似乎已經有所改變了。

我使用Chrome和REST控制檯擴展出色的作品對我來說:

https://chrome.google.com/webstore/detail/cokgbflfommojglbmbpenpphppikmonn

+1

我會推薦Chrome POSTMAN over RESTClient,因爲它有幾個導致無效簽名的錯誤((https://github.com/chao/RESTClient/issues/105))。 – airboss 2014-07-17 19:55:38

3

我RESTClient實現的作者,我已經開始開發的RESTClient實現(1.4版本的新版本。 0)。新版本將支持oAuth 2.0。它將在四月份發佈。

+0

您是否在談論Firefox插件?我注意到很多Rest客戶端被稱爲RESTClient。例如WizzTools有一個名爲RESTClient的軟件http://code.google.com/p/rest-client/ – 2012-04-01 12:59:38

+1

是的,我剛剛向Mozilla提交了一個新版本的RESTClient,但我還沒有完成oAuth 2.0。我希望我能在這個月完成它。 – Chao 2012-04-09 15:06:34

相關問題