我们有一个与 Cucumber 测试相关的故事,我们在测试执行中执行这个测试。测试执行的功能文件如下所示:
@ABC-164
@ABC-163
Feature: Homepage test
@ABC-162
Scenario: Homepage test
Feature: Go to homepage
Scenario: Homepage
Given I open the url "https://example.com/"
Then I expect that the url is "https://google.com"
第一个总是通过,第二个失败。我们正在从 wdio cucumber json 报告器生成 JSON 报告,您可以在下面看到:
[
{
"keyword": "Feature",
"type": "feature",
"description": "",
"line": 3,
"name": "Homepage test",
"uri": "Can not be determined",
"tags": [
{
"type": "Tag",
"location": { "line": 1, "column": 1 },
"name": "@ABC-164"
},
{
"type": "Tag",
"location": { "line": 2, "column": 1 },
"name": "@ABC-163"
}
],
"elements": [
{
"keyword": "Scenario",
"type": "scenario",
"description": "\t\tFeature: Go to homepage",
"name": "Homepage test",
"tags": [
{ "name": "@ABC-164", "location": { "line": 1, "column": 1 } },
{ "name": "@ABC-163", "location": { "line": 2, "column": 1 } },
{ "name": "@ABC-162", "location": { "line": 6, "column": 2 } }
],
"id": "homepage-test;homepage-test",
"steps": [
{
"arguments": [],
"keyword": "Before",
"name": "Hook",
"result": { "status": "passed", "duration": 2000000 },
"line": "",
"match": { "location": "can not be determined with webdriver.io" }
},
{
"arguments": [],
"keyword": "Before",
"name": "Hook",
"result": { "status": "passed", "duration": 0 },
"line": "",
"match": { "location": "can not be determined with webdriver.io" }
}
]
},
{
"keyword": "Scenario",
"type": "scenario",
"description": "",
"name": "Homepage",
"tags": [
{ "name": "@ABC-164", "location": { "line": 1, "column": 1 } },
{ "name": "@ABC-163", "location": { "line": 2, "column": 1 } }
],
"id": "homepage-test;homepage",
"steps": [
{
"arguments": [],
"keyword": "Before",
"name": "Hook",
"result": { "status": "passed", "duration": 0 },
"line": "",
"match": { "location": "can not be determined with webdriver.io" }
},
{
"arguments": [],
"keyword": "Given",
"name": "I open the url \"https://example.com/\"",
"result": { "status": "passed", "duration": 587000000 },
"line": 12,
"match": { "location": "can not be determined with webdriver.io" }
},
{
"arguments": [],
"keyword": "Then",
"name": "I expect that the url is \"https://google.com\"",
"result": {
"status": "failed",
"duration": 11000000,
"error_message": "Error: expect(received).toEqual(expected)"
},
"line": 13,
"match": { "location": "can not be determined with webdriver.io" }
},
{
"arguments": [],
"keyword": "After",
"name": "Hook",
"result": { "status": "passed", "duration": 0 },
"line": "",
"match": { "location": "can not be determined with webdriver.io" }
}
]
}
],
"id": "homepage-test",
"metadata": {
"browser": { "name": "chrome", "version": "88.0.4324.150" },
"device": "Device name not known",
"platform": { "name": "osx", "version": "Version not known" }
}
}
]
Xray 仅从第一个对象的 Before Hooks 中读取状态,而完全忽略其余状态。
当我们使用 Jenkins 插件以及通过 curl 直接发送时会出现问题:curl -k -H "Content-Type: application/json" -X POST -u login:pass --data @result.json https://jira/rest/...
任何帮助,将不胜感激。