activities
latest
false
- 概述
- 加密
- 数据库
- Java
- Python
- 网页 API
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
新发布内容的本地化可能需要 1-2 周的时间才能完成。
开发者活动
上次更新日期 2024年12月11日
检测并分析 XML 文件
注意: 下载并提取包含此示例中项目的存档,并将文件夹 MissingScreenshotSampleProject-ForTestPurposes 复制到您的项目文件夹中。
此自动化流程的构建方法如下:
- 打开 Studio ,创建一个新“流程”。
-
在 工作流设计器中拖动“序列”容器。
-
创建以下变量:
变量名称
变量类型
默认值
SelectedProjectPath
字符串
WorkflowXMLString
字符串
WorkflowXML
XDocument
ScreenshotAttributes
对象
-
-
在“ 序列”中添加“选择文件夹”活动。
- 在属性面板中,向选择的文件夹字段添加
SelectedProjectPath
变量。
- 在属性面板中,向选择的文件夹字段添加
-
将“遍历循环”活动添加到“选择文件夹”活动之后。
- 在“遍历循环”字段中添加值“
WorkflowFile
”。 - 在“值”字段中添加表达式“
Directory.GetFiles(SelectedProjectPath, "*.xaml", SearchOption.AllDirectories)
”。
- 在“遍历循环”字段中添加值“
-
在“遍历 循环 ”活动的“ 正文 ”容器中添加“ 读取文本文件 ”。
- 在“ 文件名 ” 字段中添加值
WorkflowFile
。 - 在属性面板中,向内容字段添加变量
WorkflowXMLString
。
- 在“ 文件名 ” 字段中添加值
-
将“反序列化 XML”活动添加到“读取文本文件”之后。
- 在XML 字符串字段中添加
WorkflowXMLString
变量。 - 在属性面板中,向 XML 文档字段添加
WorkflowXML
值。
- 在XML 字符串字段中添加
-
将“执行 XPath”活动添加到“反序列化 XML”活动之后。
- 在“ 现有 XML ” 字段中添加值
WorkflowXML
。 - 在“ XPath 表达式 ”字段中添加表达式
"//@InformativeScreenshot"
。 - 在“ 属性 ” 面板的“ 结果 ” 字段中添加变量
ScreenshotAttributes
。
- 在“ 现有 XML ” 字段中添加值
-
将“遍历循环”活动添加到“执行 XPath”活动之后。
- 在“遍历循环”字段中添加值“
Attribute
”。 - 在“值”字段中添加表达式“
CType(ScreenshotAttributes, IEnumerable).Cast(Of XAttribute)
”。 -
选择活动中的正文容器并创建以下变量:
变量名称
变量类型
默认值
ScreenshotFileExists
布尔值
- 在“遍历循环”字段中添加值“
-
在遍历循环活动的正文容器中添加日志消息活动。
- 在“行”字段中添加表达式“
"Looking for: " + SelectedProjectPath + "\.screenshots\" + Attribute.Value + ".png"
”。
- 在“行”字段中添加表达式“
-
将“存在路径”活动添加到“日志消息”活动之后。
- 从路径文件下拉列表中选择文件选项。
- 在“ XPath 表达式 ”字段中添加表达式
SelectedProjectPath + "\.screenshots\" + Attribute.Value + ".png"
。
-
将“IF 条件”活动添加到“存在路径”活动之后。
- 在“条件”字段中添加表达式“
Not ScreenshotFileExists
”。
- 在“条件”字段中添加表达式“
-
在IF 条件活动的 Then 字段中添加日志消息活动。
- 从级别下拉列表中选择警告选项。
-
在“行”字段中添加表达式“
String.Format("Could not find the screenshot file {0}.png referenced by file {1}", Attribute.Value, WorkflowFile)
”。
- 运行流程。出现提示时,选择“MissingScreenshotSampleProject-ForTestPurposes”文件夹。系统将读取文件夹中的 XML 工作流文件并对其进行反序列化。有关 XAML 中引用的屏幕截图的信息用于识别和记录在文件夹中找到和丢失的屏幕截图。
您可以在此处 下载示例。