ARM UI 和 ARM 模板测试
本文中的 "Azure 市场"作用范围均指中国。
1. ARM UI 测试
本节我们将使用示例文件,演示如何测试 UI 界面。
1.1 先决条件
Azure 订阅。 如果还没有 Azure 订阅,可以在开始前创建一个免费帐户。
createUiDefinition.json 文件。 如果没有此文件,请复制 示例文件 (也可以参考 Global Azure示例文件) 并将其保存至本地目录
Marketplace-uisample
。
1.2 打开创建 UI 定义沙箱
1.3 将空定义替换为 createUiDefinition.json 文件的内容。 选择“预览” 。
- 如果您createUiDefinition.json文件中handler值为'Microsoft.Compute.MultiVm',请改为'Microsoft.Azure.CreateUIDef'后测试。
1.4 此时会显示已创建的窗体。 可以单步执行用户体验,并填写值。
1.5 查看测试界面
在门户中填写字段值,完成后,会看到这些值已传递到模板,如下图所示,点击"查看输出"后右侧将看到填写的参数,请将这些参数保存成参数文件例如 exampletemplate.parameters.json,在章节 2 中你可以使用这个参数文件来进行模板部署的测试。
1.6 排查界面问题
你可能看到的一些常见错误如下:
- 门户无法加载界面, 而是显示了一个带有泪滴的云图标。 通常,当文件中有语法错误时,你会看到此图标。 在 VS Code(或其他具有架构验证的 JSON 编辑器)中打开该文件,并查找语法错误。
- 门户在摘要屏幕上挂起。 通常,当输出部分中存在 bug 时,会发生这种中断。 例如,你可能引用了不存在的控件。
- 输出中的参数为空。 该参数可能引用了不存在的属性。 例如,对控件的引用有效,但属性引用无效。
2. 集成测试 ARM 模板和 UI 文件 createuidefination
方法一:请将 1.5 节中的模板参数拷贝成参数文件进行测试
此方法相对简单。此方法用 ARM 模板文件和 createuidefination 测试生成参数文件,作为参数进行模板部署,通过测试参数是否正确验证 createuidefination 的正确性。假设模板文件为 exampletemplate.json,参数文件为 exampletemplate.parameters.json,则在PowerShell下:
New-AzureRmResourceGroup -Name ExampleResourceGroup -Location "China North"
New-AzureRmResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile c:\MyTemplates\exampletemplate.json `
-TemplateParameterFile c:\MyTemplates\exampletemplate.parameters.json
或者
Test-AzureRmResourceGroupDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile c:\MyTemplates\exampletemplate.parameters.json `
-storageAccountType Standard_GRS
具体请参考 使用 PowerShell 部署 ARM 模板 中的 "参数文件" 或 "测试模板部署" 部分。
方法二:集成 createUiDefinition 文件与 ARM 模板文件
确认 Azure 门户界面按预期方式工作后,可以验证 createUiDefinition 文件是否能够正常地与模板文件 mainTemplate.json 文件相集成。 可以运行验证脚本来测试模板文件的内容,包括 createUiDefinition.json 文件。 该脚本会验证 JSON 语法,检查文本字段中的正则表达式,并确保门户界面的输出值与模板参数相匹配。 有关运行此脚本的信息,请参阅对模板运行静态验证检查。