我试图通过Terraform构建一系列在Datadog中使用URL地图的综合浏览器测试。测试将转到URL,在登录表单中键入虚拟凭据,尝试登录,并断言存在无效的用户名/密码响应。当我试图运行terraform apply时,我的代码失败了。我已经引用了这些文档,但是我还没有找到带有step类型的typeText浏览器测试的示例。我设置得不对吗?
代码:
resource "datadog_synthetics_test" "login_tests" {
for_each = var.browser_test_urls
type = "browser"
request_definition {
method = "GET"
url = each.value
}
device_ids = ["laptop_large"]
locations = ["aws:us-east-1"]
options_list {
tick_every = 1800
follow_redirects = true
retry {
count = 2
interval = 60000
}
}
name = "Login Test for ${each.key}"
message = "Login test failed for ${each.key} on url ${each.value}"
status = "paused"
browser_step {
name = "Type Username"
type = "typeText"
params {
element = "#userItem"
value = "username"
}
}
browser_step {
name = "Type Password"
params {
element = "#passItem"
value = "password"
}
type = "typeText"
}
browser_step {
name = "Click Login Button"
params {
element = "#btlogin"
}
type = "click"
}
browser_step {
name = "Check for Invalid Login Message"
params {
check = "contains"
value = "Invalid username or password!"
}
type = "assertPageContains"
}
}错误:
│ Error: error creating synthetics browser test from https://us3.datadoghq.com/api/v1/synthetics/tests/browser: 400 Bad Request: {"errors":["Invalid steps data:
Step 0 has invalid params: None is not of type 'object'"]}
│
│ with module.datadog.datadog_synthetics_test.login_tests["Test"],
│ on modules\datadog\browser_tests.tf line 1, in resource "datadog_synthetics_test" "login_tests":
│ 1: resource "datadog_synthetics_test" "login_tests" {发布于 2022-09-16 13:29:52
对于任何面临类似问题的人来说,这就是我最终解决这个问题的方式。
我通过Datadog创建了合成工具,然后将它导入到我的terraform状态中。在那里,我查看了我的状态文件,以查看元素属性的值。这是一种很长的x路径风格。我将整个字符串复制并粘贴到我的元素属性中,它就像一种魅力!
https://stackoverflow.com/questions/73717525
复制相似问题