- 发行说明
- 入门指南
- 设置和配置
- 自动化项目
- 依赖项
- 工作流类型
- 控制流程
- 文件比较
- 自动化最佳实践
- 源代码控件集成
- 调试
- 日志记录
- 诊断工具
- 工作流分析器
- 变量
- 参数
- 导入的命名空间
- 编码自动化
- 基于触发器的 Attended 自动化
- 录制
- 用户界面元素
- 选取器
- 对象存储库
- 数据抓取
- 图像与文本自动化
- Citrix Technologies Automation
- RDP 自动化
- VMware Horizon 自动化
- Salesforce 自动化
- SAP 自动化
- macOS 用户界面自动化
- ScreenScrapeJavaSupport 工具
- Webdriver 协议
- 扩展程序
- 测试套件 - Studio
- 故障排除
在库中加载网页服务
Studio 可以通过“服务编辑器”窗口直接从 SOAP 或 REST 网页服务或 Postman 集合生成活动。
该窗口可用于自动加载给定网页服务(REST 或 SOAP)中的所有方法或端点,只要所提供的链接包含服务定义(Swagger 或 WSDL)即可。
加载后,您可以选择通过哪些端点或方法自动创建活动。所有选定的项目随即会在“活动”面板中显示,位于您在“服务编辑器”窗口提供的“命名空间”下。
.nupkg
文件,并将其发布到 Orchestrator 或自定义位置。如此一来,您便可与其他合作开发者轻松共享新定义的活动。
按照下方的步骤,从网页服务生成活动:
若要编辑服务,只需在“项目”面板的“服务”下右击所需的服务,再选择“编辑服务”。
project.json
文件即可为已加载 SOAP 或 REST 网页服务的 .xaml
文件启用“编辑服务”选项。
project.json
文件以及服务文档中也会有相应体现。project.json
文件中会添加 webServices
节点,各项服务通过以下元素来标识:
参数 |
描述 |
---|---|
|
“服务编辑器”窗口中提供的服务名称。 |
|
含有 SOAP 或 Swagger 服务元数据的
.json 文件的路径。该文件在修复服务时使用,并且应作为项目的一部分进行版本控制。
|
|
Swagger 或 SOAP 资源的文件路径或链接(在“服务编辑器”窗口中创建服务时提供)。 |
|
服务版本控制需要的参考。 |
修复服务
dll
文件不会推送到来源控件存储库。因此,在签出含有服务的库时,其项目会在“设计器”面板中包含未解决的活动。
.dll
文件,可在“项目”面板中右击相应服务节点,再从上下文菜单中选择“修复服务”。
.json
文件中。如果加载的服务缺少相关的 .json
文件,您可以通过“服务”节点的“修复服务”上下文菜单选项,利用创建服务时提供的网页文档描述符的链接生成所缺失的 .json
文件。因此,不再应用服务最初生成时可能应用的筛选器,并且导入通过前述路径或链接提供的所有资源。
UiPath.Studio.CommandLine.exe
命令行用户界面(见“批量更新命令行参数”页面中的详细说明)发布库时不将网页服务纳入考虑范围。
要在一个循环中多次调用从网页服务生成的活动,请从主库文件创建单独的工作流,然后在其中调用服务方法。在主工作流中,使用“For Each”活动中的“调用工作流文件”活动,并调用先前创建的工作流。
有关从网页服务生成的活动的更多详细信息,请参阅从网页服务生成的活动。
.json
文件的方式已经改变。因此,当且仅当从“编辑服务”窗口编辑现有服务时,才会产生向后兼容性问题。
在下方例子中,我们将使用 Petstore 演示示例网页服务说明相关变化。
在 Studio v2020.4 之前的版本中将服务添加到库项目中后,可以使用“浏览类型…”上下文菜单在 SwaggerPetstore 程序集名称下可以找到下列命名空间:
UiPath.WebClient._ClientNamespace
,您将可以找到以下类型:
xaml
文件中使用了 AddPet 活动,则该活动将成为 UiPath.WebClient._ClientNamespace
的一部分。_ClientAddPetRequest
类型用于生成请求,如以下摘录所示:
xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore"
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<uw_:AddPetActivity.Request>
<uw_:<em>ClientAddPetRequest Body="{x:Null}" />
</uw</em>:AddPetActivity.Request>
</uw_:AddPetActivity>
</Sequence>
</Activity>
xmlns:uw_="clr-namespace:UiPath.WebClient.<em>ClientNamespace;assembly=SwaggerPetstore"
...
<uw</em>:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<uw_:AddPetActivity.Request>
<uw_:<em>ClientAddPetRequest Body="{x:Null}" />
</uw</em>:AddPetActivity.Request>
</uw_:AddPetActivity>
</Sequence>
</Activity>
使用 Studio v2020.4 导入相同的网页服务时,可以找到以下命名空间:
UiPath.WebClient.PetClientNamespace
时会发现以下类型:
xaml
文件中使用了 AddPet 活动则该活动属于 UiPath.WebClient.PetClientNamespace
的一部分,并且 PetClientAddPetRequest
类型用于生成请求。如果使用 v2020.4 之前的版本创建库,这些命名空间和类型将会有所不同。
以下是使用 v2020.4 创建此类库时的摘录:
xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
<uwp:PetClientAddPetRequest Body="{x:Null}" />
</uwp:AddPetActivity.Request>
</uwp:AddPetActivity>
</Sequence>
</Activity>
xmlns:uwp="clr-namespace:UiPath.WebClient.PetClientNamespace;assembly=SwaggerPetstore"
...
<uwp:AddPetActivity BearerToken="{x:Null}" ClientCertificate="{x:Null}" ClientCertificatePassword="{x:Null}" Headers="{x:Null}" OAuth2Token="{x:Null}" Password="{x:Null}" Username="{x:Null}" DisplayName="AddPet" Endpoint="["https://petstore.swagger.io/v2"]" sap:VirtualizedContainerService.HintSize="200,22.4" sap2010:WorkflowViewState.IdRef="AddPetActivity_1" TimeoutMS="30000">
<a href="uwp:AddPetActivity.Request">uwp:AddPetActivity.Request</a>
<uwp:PetClientAddPetRequest Body="{x:Null}" />
</uwp:AddPetActivity.Request>
</uwp:AddPetActivity>
</Sequence>
</Activity>
Postman 应用程序可用于创建 API 定义并将其按组分配至集合中,从而将您的请求整理并和联系在一起。Postman 支持在 API 请求之间传递数据的脚本。查看 Postman 在线文档,了解有关创建集合的信息。
如果您已有 Postman 集合,则可以将其请求加载到 Studio 中并生成活动。集合的维护是在 Postman 中完成,所有更改也会在您的工作流中进行。
Studio 通过 API 密钥接收对 Postman 集合的访问权限,该 API 密钥必须添加到“服务编辑器”窗口的“文件”或“链接”字段中。API 密钥是从“Postman 配置文件设置”>“API 密钥”页面生成的帐户范围内的密钥,而不是通过共享集合生成的 API 密钥。因此,对请求的修改只能在 Postman 中完成,而不能在 Studio 中完成。
get
特定货币的值,并将其显示在 Studio 的“输出”面板中。
在此示例中,我们编写了一份测试脚本来迭代接收到的数据。我们直接在脚本中公开了全局变量,但我们也可以通过 Postman 中的“设置全局变量”代码片段来显示该变量,详情请阅读此处提供的信息。
EUR
值传递给了 Out 参数,其中 In 参数在库中的“属性”面板 >“输入”>“集合”中可见。在同一面板的“输出”部分中,则可以看到 Out 参数。
活动中的输出参数映射到变量后,其值将写入“输出”面板。
可以使用“IF 条件”活动来验证变量的返回值。在此示例中,我们确认变量返回了值,然后将值写入到“输出”面板。