ワイヤレス : BNG 向け Cisco Quantum ポリシー スイート

素晴しいスクリプトとの API を自動化して下さい

2015 年 11 月 25 日 - 機械翻訳について
その他のバージョン: PDFpdf | 英語版 (2015 年 6 月 22 日) | フィードバック

概要

API を自動化するテスト ステップ上のループがクォンタム ポリシー スイート(QPS)に要求することこの資料に soapUI アプリケーション プログラマをインターフェイスさせます作成する方法を(API)要求をおよび soapUI テストケースを作成する方法を記述されています。

サブスクライバ ID のファイルを読み込み、作成し、送信 しますこの技術情報 implementa テスト ステップの例 soapUI テストケースは QPS に querySubscriberRequst を。

トニー Pina によって貢献される、Cisco TAC エンジニア。

soapUI プロジェクトを作成して下さい

このプロシージャを始める前に、デスクトップで soapUI アプリケーションをインストールして下さい。 www.soapui.org から soapUI インストール実行可能モジュールをダウンロードできます。

API 要求かテストケースを作成する前に最初に soapUI プロジェクトを作成して下さい。 Web サービス記述言語(WSDL)ファイルおよびプロジェクトを作成することを XML スキーマ説明(XSD)ファイルが必要とします。 WSDL はサポートされた API を規定 します。 ロードつりあい機(LB)からこれらのコマンドを実行するとき普通 QPS からの WSDL および XSD を得ることができます:

  • wget http://lbvip01:8080/ua/wsdl/UnifiedApi.wsdl
  • wget http://lbvip01:8080/ua/wsdl/UnifiedApi.xsd

soapUI アプリケーションを実行することを計画するデスクトップで同じディレクトリで WSDL および XSD を保存して下さい。

soapUI プロジェクトを作成するためにこれらのステップを完了して下さい:

  1. soapUI ウィンドウから soapUI プロジェクトを File > New の順に選択 して下さい:

  2. 新しい soapUI プロジェクト ウィンドウではプロジェクトの名前をプロジェクト名フィールドで入力し、WSDL ファイルが最初の WSDL/WADL フィールドで保存されるロケーションを入力して下さい。 完了したら、[OK] をクリックします。

soapUI API 要求を作成して下さい

soapUI API 要求を作成するためにこれらのステップを完了して下さい:

  1. API を見るために作成した soapUI プロジェクトを拡張して下さい。 また要求を見るために API の 1 拡張できます。

    querySubscriberRequest この例では拡張されます:

  2. クエリを形成する XML の要求 ウィンドウを見るために要求を開いて下さい。 要求 ウィンドウでは IP アドレスおよびポートに http:// IP アドレスを編集して下さい。 これはこの例が示すと同時に普通要求を送信 したいと思う lbvip01 IP アドレスおよびポートです:

  3. 要求で送信 したいと思うデータの XML のフィールドを修正して下さい。 この例では、要求は querySubscriberRequest です。 に showDetailedInformatin を問い合わせ、設定 したいと思うサブスクライバのためのサブスクライバ ID を修正して下さい:

  4. クエリーを実行するために要求 ウィンドウの上でグリーン Run ボタンをクリックして下さい。

soapUI テストケースを作成して下さい

このプロシージャは API が QPS に送信 されるとき自動化できるテスト スイートを作成する方法を説明します。

このサンプル手順でテスト スイートはサブスクライバ ID のリストにループし、次に QPS に送信 する querySubscriberRequest でそれらのサブスクライバ ID を使用します。 サブスクライバ ID のリストは subid.txt と呼ばれるテキストファイルの単一 行にそれぞれです。

テスト スイートを作成するためにこれらのステップを完了して下さい:

  1. 作成したり soapUI プロジェクトで、新しいテスト スイートを作成して下さい。 soapUI を右クリックし、TestSuite を『New』 を選択 して下さい。

  2. テスト スイートを右クリックし、テストケースを『New』 を選択 して下さい。

  3. テストケースを右クリックし、ステップを > 素晴しいスクリプト素晴しいスクリプト テスト ステップを追加するために『Add』 を選択 して下さい。 それをデータ ソースと挙げて下さい:

  4. データ ソース ファイルでこのコードを貼り付けて下さい。 このコードはファイル C を読みます: 各行のサブスクライバ ID が含まれている /subid.txt:
    import com.eviware.soapui.support.XmlHolder def myTestCase = context.testCase 
    def counter,next,previous,sizeFile tickerEnumFile = new File("C:/subid.txt") //subscriber
    IDs sepearted by new line (CR). List lines = tickerEnumFile.readLines() size =
    lines.size.toInteger() propTestStep = myTestCase.getTestStepByName("Property - Looper")
    // get the Property TestStep propTestStep.setPropertyValue("Total", size.toString())
    counter = propTestStep.getPropertyValue("Count").toString() counter= counter.toInteger()
    next = (counter > size-2? 0: counter+1) tempValue = lines[counter]
    propTestStep.setPropertyValue("Value", tempValue) propTestStep.setPropertyValue
    ("Count", next.toString()) next++ log.info "Reading line : ${(counter+1)} /
    $lines.size"propTestStep.setPropertyValue("Next", next.toString()) log.info
    "Value '$tempValue' -- updated in $propTestStep.name" if (counter == size-1) {
    propTestStep.setPropertyValue("StopLoop", "T") log.info "Setting the stoploop property now..."}
    else if (counter==0) { def runner = new com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner
    (testRunner.testCase, null) propTestStep.setPropertyValue("StopLoop", "F") } else{
    propTestStep.setPropertyValue("StopLoop", "F") }
  5. テスト ステップを右クリックし、ステップ > Properties をプロパティ テスト ステップを追加し、プロパティと指名するために-シャクトリムシ『Add』 を選択 して下さい。

  6. シャクトリムシ テスト ステップのこれらのユーザー定義のプロパティを追加して下さい:
    • 全体の
    • 値-例この保持ファイル サブスクライバ ID から読まれるサブスクライバ ID
    • count
    • StopLoop

  7. テスト ステップを右クリックし、ステップ > TestRequest を Test 要求 テスト ステップを追加し、呼び出したいと思う要求を選択するために『Add』 を選択 して下さい:

    querySubscriberRequest この例では使用されます。

  8. 要求では、展開コードは問い合わせるものをのフィールド値を取り替えます。 この例か。 SubscriberId=か。 querySubscriberRequest で展開コード $ {プロパティ- Looper#Value}と(soap_test_req_expansion_code)取り替えられます:

    プロパティ-シャクトリムシは以前に作成されるプロパティ TestStep の名前であり、値は現在のサブスクライバ ID をサブスクライバ ID のファイルから読まれて保持します。

  9. テスト ステップを右クリックし、ステップを > 素晴しいスクリプト『Add』 を選択 し、データ ループと指名して下さい:

  10. 素晴しいスクリプト データ ループのこのコードを貼り付けて下さい:
    def myTestCase = context.testCase
    def runner
    propTestStep = myTestCase.getTestStepByName("Property - Looper")
    endLoop = propTestStep.getPropertyValue("StopLoop").toString()
    if (endLoop.toString() == "T" || endLoop.toString()=="True"
    || endLoop.toString()=="true")
    {
    log.info ("Exit Groovy Data Source Looper")
    assert true
    }
    else
    {
    testRunner.gotoStepByName("Groovy Script - DataSource") //go to the DataSource
    }
  11. このサンプル手順では、各ループ間の 1000 ms 遅延は追加されます。 この手順はオプションです。

    このとき遅延によって 5 つのテスト ステップがあります:

  12. テストケース ウィンドウの 5 つのテスト ステップを実行するためにグリーン Run ボタンをクリックして下さい。 

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


Document ID: 119011