无线 : Cisco Policy Suite for BNG

自动化与时髦脚本的API

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2016 年 4 月 21 日) | 反馈

简介

本文描述如何创建soapUI应用程序程序员建立接口(API)请求和如何创建soapUI测试案例在自动化API的测试步骤的环路请求到Quantum策略套件(QPS)。

在读用户ID文件然后的此条款implementa测试步骤的示例soapUI测试案例创建并且发送querySubscriberRequst对QPS。

贡献用托尼Pina, Cisco TAC工程师。

创建soapUI项目

在您开始此步骤前,请安装在您的桌面的soapUI应用程序。您能下载从www.soapui.org的soapUI安装可执行。

在您创建API请求或测试案例前您必须首先创建soapUI项目。您需要网站服务描述语言(WSDL)文件和XML模式说明(XSD)文件为了创建项目。WSDL指定支持的API。您能从QPS通常获取WSDL和XSD,当您从负载平衡器时(LB)运行这些命令:

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

存储WSDL和XSD在同一个目录在您计划运行soapUI应用程序的桌面。

完成这些步骤为了创建soapUI项目:

  1. 从soapUI窗口选择File>新建的soapUI项目

  2. 在新的soapUI项目窗口请在项目Name字段输入一名称对于项目并且输入WSDL文件在初始WSDL/WADL字段存储的位置。完成后单击 OK

创建soapUI API请求

完成这些步骤为了创建soapUI API请求:

  1. 展开您创建为了发现API的soapUI项目。您能也展开其中一API为了发现请求。

    在本例中, querySubscriberRequest展开:

  2. 打开请求为了发现与形成查询的XML的请求窗口。在请求窗口请编辑http:// IP地址到IP地址和端口。这通常是您要发送请求的lbvip01 IP地址和端口,当此示例显示:

  3. 修改XML的字段与您在您的请求要发送的数据。在本例中,请求querySubscriberRequest。修改您要查询和设置showDetailedInformatin到错误的用户的用户ID :

  4. 点击绿色Run按钮在请求窗口顶部为了运行查询。

创建soapUI测试案例

此步骤解释如何创建能自动化的测试套件,当API发送对QPS时。

在此示例程序测试套件在用户ID列表在querySubscriberRequest循环然后使用发送对QPS的那些用户ID。用户ID列表是其中每一在呼叫subid.txt的文本文件的单个线路。

完成这些步骤为了创建测试套件:

  1. 在soapUI项目您已创建,创建新的测试套件。用鼠标右键单击在soapUI并且选择新的TestSuite

  2. 用鼠标右键单击测试套件并且选择新的测试个案

  3. 用鼠标右键单击测试案例并且选择添加步骤>时髦脚本为了添加一个时髦脚本测试步骤。给出它数据源

  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为了添加属性测试步骤和命名它属性-尺蠖

  6. 添加尺蠖测试步骤的这些用户定义的属性:
    • 托塔尔
    • 值-在我们的示例中此暂挂从文件用户ID读的用户ID
    • 计数
    • 其次
    • StopLoop

  7. 用鼠标右键单击在测试步骤并且选择添加步骤> TestRequest为了添加一个Test请求测试步骤和选择您要调用的请求:

    在本例中, querySubscriberRequest使用。

  8. 在请求,扩展代码替换什么的字段值您查询。在本例中的?SubscriberId= ?在querySubscriberRequest用扩展代码$ {属性替换- Looper#Value} (soap_test_req_expansion_code) :

    属性-尺蠖是属性以前创建的TestStep的名称,并且对当前用户ID负读从用户ID文件。

  9. 用鼠标右键单击在测试步骤并且选择添加步骤>时髦脚本并且命名它数据环路

  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毫秒延迟被添加。此步骤是可选的。

    使用延迟当前有五个测试步骤:

  12. 点击绿色Run按钮为了运行在测试个案窗口的五个测试步骤。 


Document ID: 119011