Robotframework Robot框架使用数组参数调用soap方法

Robotframework Robot框架使用数组参数调用soap方法,robotframework,Robotframework,我有一个带有方法的JavaSOAP服务 public void helloStudentsName(String[] names) 用户robot框架(SudsLibrary)来调用它,因为我并没有在robot中定义数组,所以我在代码中使用List ${names} Create List name1 name2 name3 Call Soap Method helloStudentsName ${names} 我出错了 TypeNotFound

我有一个带有方法的JavaSOAP服务

public void helloStudentsName(String[] names)
用户robot框架(SudsLibrary)来调用它,因为我并没有在robot中定义数组,所以我在代码中使用List

 ${names}    Create List    name1    name2    name3
    Call Soap Method    helloStudentsName    ${names}
我出错了

TypeNotFound: Type not found: 'arg0'
并在声明列表中将$替换为@

@{names}    Create List    name1    name2    name3
    Call Soap Method    helloStudentsName    @{names}
无错误,但在Java方法中接收空数组


您能告诉我如何调用此方法吗?

我认为您需要创建一个特殊的WSDL数组对象,而不是使用普通的robot列表。SudsLibrary为此提供了一个关键字,并在一个示例中使用它

假设您的WSDL定义了一种ArrayOfString类型,您可以执行以下操作:

| | ${string array}= | Create Wsdl Object | ArrayOfString
| | Append To List | ${string array} | name1
| | Append To List | ${string array} | name2
| | Append To List | ${string array} | name3
| | ${result}= | Call Soap Method | helloStudentsName | ${string array}
只有当您的WSDL定义了一种类型的
ArrayOfString
时,这才有效。您的实际WSDL可能会用其他名称来调用它