2016-10-14 10 views
0

私はSoapUIの新しいユーザーですが、このプロセスは簡単であるはずです。私はこの問題に関して私が見つけることができるすべてのドキュメントを読んだが、私はこれを回避することはできない。SoapUI自動化されたOAuth2トークン取得の問題

問題: 私は顧客のためのウェブサイトの負荷テストに取り組んでいます。これには、1000個のアカウントを作成し、コース登録手続きをナビゲートする作業が含まれます。新しいユーザーの作成プロセスをステップごとにテストケースを作成することができました。新しいユーザーを作成すると、Webサイトは自動的にOAuth2プロセスを実行し、ユーザーをプロフィールにリダイレクトします。このプロセスの流れは次のとおりです。account created> REQUEST> RESPONSEのトークンURIに送信された資格情報はアクセストークンをキックバックする>トークンは資格情報を取得し、ユーザーをプロファイルにリダイレクトするために使用されます。

私は変数としてトークンを正常に抽出し、それをローカルテストケースに格納しましたが、これは私が立ち往生する場所です。私がユーザープロファイルを取得できる唯一の方法は、アクセストークンをSoapUIのOAuth2アクセストークンフィールドに手動で貼り付け、テストケースを実行することです。私は1000のアカウントでこれを行う必要があるので、これは明らかに効果的な方法ではありません。

私は、自動化されたアクセストークンスクリプトエディタを使用してログインページ/ユーザ作成ページのElementIDを取得しようとしましたが、これらのフィールドはすべて別の.jsスクリプトにあります。したがって、ElementIDはSoapUI 。

私はこの間違いを犯しているのでしょうか、それともどこかでこれができますか?コードを書く人がいません。間違って理解していれば、このプロセスを説明するだけです。

+0

この文書はあなたのものですか? https://www.soapui.org/oauth2/automating-access-token-retrieval.html – Rao

+0

私はラオを持っています。私がそこにいる問題は、私が探している要素がSoapUIのRESPONSEに表示されない別の.jsスクリプトにあることです。 – Andrew

+0

@Andrew私は* SOAPUI *でこれを使用したことがないので、間違っているかもしれませんが、私の推測です:あなたの要素が異なる '.js 'になっているにもかかわらず、オブジェクトはグローバルコンテキストにロードされて以来?あるいは、他の '.js'ファイルのプライベートメンバーですか?私は* SOAPUI *がこのためのjsコンテキストを提供する方法を知らないので、おそらくこれも可能ではありません。 – albciff

答えて

0

トークンコールから「Set-Cookie」ヘッダーを取得し、その後、各呼び出しにCookieを追加するGroovyスクリプトを作成することで、OAuth2認証メソッドを回避することができました。

この方法で問題が解決したようです。

import com.eviware.soapui.support.types.StringToStringMap 

def getcookie = context.testCase.testSteps["Token"].testRequest.response.responseHeaders["Set-Cookie"][0] 

def headers = new StringToStringMap() 
headers.put('Cookie', getcookie) 

testRunner.testCase.getTestStepByName('Get User').testRequest.setRequestHeaders(headers) 
関連する問題