Dduvall has submitted this change and it was merged. Change subject: Reimplement filtering using ES filters ......................................................................
Reimplement filtering using ES filters Refactored type mappings to achieve a feature/scenario structure that is more easily filtered in the Elasticsearch query. Removed client-side filtering of feature elements. Added mappings and test fixtures. Change-Id: I647bb65f470ea9d62ed612ee2d7304a63fe35409 --- A db/mappings/build.json A db/mappings/feature-element.json A db/mappings/feature.json M src/pl-build-features.tag M src/pl-build-filter.tag M src/pl-dashboard.tag M src/platter.js A test/fixtures/data.json M test/fixtures/feature1.json M test/fixtures/feature2.json M test/fixtures/feature3.json A test/fixtures/scenarios1.json A test/fixtures/scenarios2.json A test/fixtures/scenarios3.json 14 files changed, 316 insertions(+), 796 deletions(-) Approvals: Dduvall: Verified; Looks good to me, approved diff --git a/db/mappings/build.json b/db/mappings/build.json new file mode 100644 index 0000000..5187d71 --- /dev/null +++ b/db/mappings/build.json @@ -0,0 +1,13 @@ +{ + "build": { + "properties": { + "build_number": { "type": "integer" }, + "result.status": { "type": "string", "index": "not_analyzed" }, + "result.duration": { "type": "long" } + }, + "_timestamp": { + "enabled": true, + "store": true + } + } +} diff --git a/db/mappings/feature-element.json b/db/mappings/feature-element.json new file mode 100644 index 0000000..66a517e --- /dev/null +++ b/db/mappings/feature-element.json @@ -0,0 +1,34 @@ +{ + "feature-element": { + "_parent": { "type": "feature" }, + "properties": { + "keyword": { "type": "string" }, + "name": { "type": "string" }, + "line": { "type": "integer" }, + "description": { "type": "string" }, + "tags": { + "type": "nested", + "properties": { + "name": { "type": "string", "index": "not_analyzed" }, + "line": { "type": "integer" } + } + }, + "type": { "type": "string", "index": "not_analyzed" }, + "steps": { + "type": "nested", + "properties": { + "keyword": { "type": "string" }, + "name": { "type": "string" }, + "line": { "type": "integer" }, + "match.arguments.offset": { "type": "integer", "index": "no" }, + "match.arguments.val": { "type": "string", "index": "no" }, + "match.location": { "type": "string", "index": "not_analyzed" }, + "result.status": { "type": "string", "index": "not_analyzed" }, + "result.duration": { "type": "long" } + } + } + "result.status": { "type": "string", "index": "not_analyzed" }, + "result.duration": { "type": "long" } + } + } +} diff --git a/db/mappings/feature.json b/db/mappings/feature.json new file mode 100644 index 0000000..722a9cb --- /dev/null +++ b/db/mappings/feature.json @@ -0,0 +1,22 @@ +{ + "feature": { + "_parent": { "type": "build" }, + "properties": { + "keyword": { "type": "string" }, + "name": { "type": "string" }, + "line": { "type": "integer" }, + "description": { "type": "string" }, + "tags": { + "type": "nested", + "properties": { + "name": { "type": "string", "index": "not_analyzed" }, + "line": { "type": "integer" } + } + }, + "id": { "type": "string", "index": "not_analyzed" }, + "uri": { "type": "string", "index": "not_analyzed" }, + "result.status": { "type": "string", "index": "not_analyzed" }, + "result.duration": { "type": "long" } + } + } +} diff --git a/src/pl-build-features.tag b/src/pl-build-features.tag index 71a4e86..20de155 100644 --- a/src/pl-build-features.tag +++ b/src/pl-build-features.tag @@ -1,5 +1,15 @@ <pl-build-features> <div class="list-group"> - <pl-feature each={ features } class="list-group-item"></pl-feature> + <pl-feature each={ nonEmptyFeatures() } class="list-group-item"></pl-feature> </div> + + <script> + var self = this; + + self.nonEmptyFeatures = function () { + return self.features.filter(function (feature) { + return feature.elements.length > 1 || feature.elements[0].type !== 'background'; + }); + }; + </script> </pl-build-features> diff --git a/src/pl-build-filter.tag b/src/pl-build-filter.tag index 542db45..9f1b5fa 100644 --- a/src/pl-build-filter.tag +++ b/src/pl-build-filter.tag @@ -1,7 +1,9 @@ <pl-build-filter> <form onsubmit={ submit }> <div class="input-group"> - <span class="input-group-addon glyphicon glyphicon-filter"></span> + <span class="input-group-btn"> + <button class="btn btn-default" type="button" onclick={ clear }><span class="glyphicon glyphicon-filter"></span></button> + </span> <input class="form-control" type="text" name="filterString" value="{ filterToString() }" placeholder="e.g. 'status:failed', 'status:skipped', '@some-tag-name'"> <span class="input-group-btn"> @@ -19,7 +21,7 @@ return str.split(/\s+/).map(function (item) { var m, pair = {}; - if (m = item.match(/^@(.+)$/)) { + if (m = item.match(/^(@.+)$/)) { pair.tag = m[1]; } else if (m = item.match(/^(status):(.+)$/)) { pair[m[1]] = m[2]; @@ -29,12 +31,18 @@ }); } + self.clear = function () { + self.filter = []; + self.trigger('pl:filter', self.filter); + self.filterString.focus(); + }; + self.filterToString = function () { return self.filter.map(function (pair) { for (var k in pair) { switch (k) { case 'tag': - return '@' + pair[k]; + return pair[k]; default: return k + ':' + pair[k]; } diff --git a/src/pl-dashboard.tag b/src/pl-dashboard.tag index db29f3e..2926b5a 100644 --- a/src/pl-dashboard.tag +++ b/src/pl-dashboard.tag @@ -7,7 +7,8 @@ <script> var self = this, dash = opts, - currentBuildId; + currentBuildId, + currentFeatures; self.on('mount', function () { dash.loadBuilds(); @@ -28,7 +29,10 @@ dash.subscribe(self, { 'load-build': function (id, build) { currentBuildId = id; - dash.loadFeatures(id); + + // Updating the filter triggers a reload of features + // TODO this is confusing + self.tags['pl-build-filter'].update({ filter: [] }); self.tags['pl-build-info'].update({ buildId: id, buildNumber: build.build_number }); self.tags['pl-builds'].update({ currentBuildId: id }); @@ -39,9 +43,26 @@ }, 'load-build-features': function (buildId, features) { - self.tags['pl-build-info'].update({ features: features }); - self.tags['pl-build-features'].update({ features: features }); - } + currentFeatures = features; + + dash.loadElements( + features.map(function (f) { return f._id; }), + self.tags['pl-build-filter'].filter + ); + }, + + 'load-build-features-elements': function (elements) { + for (var fid in elements) { + for (var i = 0; i < currentFeatures.length; i++) { + if (currentFeatures[i]._id === fid) { + currentFeatures[i].elements = elements[fid]; + } + } + } + + self.tags['pl-build-info'].update({ features: currentFeatures }); + self.tags['pl-build-features'].update({ features: currentFeatures }); + }, }); </script> </pl-dashboard> diff --git a/src/platter.js b/src/platter.js index aebd407..1882f62 100644 --- a/src/platter.js +++ b/src/platter.js @@ -47,16 +47,31 @@ return request('get', pathTo(collection, id)); }; - self.search = function (collection, query) { - return request('post', pathTo(collection, '_search'), query); + self.search = function (collection, query, fields) { + fields = fields || [ '_source' ]; + return request('post', pathTo(collection, '_search') + '?fields=' + fields.join(','), query); }; - self.sourcesOf = function (results) { - var sources = []; + self.sourcesOf = function (results, mapByProperty) { + var sources = mapByProperty ? {} : []; for (var i = 0; i < results.length; i++) { - sources.push(results[i]._source); - sources[i]._id = results[i]._id; + var source = results[i]._source; + + source._id = results[i]._id; + + if (results[i].fields) { + for (var k in results[i].fields) { + source[k] = results[i].fields[k]; + } + } + + if (mapByProperty) { + sources[source[mapByProperty]] = sources[source[mapByProperty]] || []; + sources[source[mapByProperty]].push(source); + } else { + sources.push(source); + } } return sources; @@ -69,30 +84,55 @@ var self = {}, db = Platter.Database(dbURL); - self.compileUserFilter = function (ufilter) { - var esfilter = { must: [], should: [] }; + self.compileUserFilter = function (type, ufilter) { + var esfilter = { bool: { must: [], should: [] } }, + scoped; + + if (type === 'feature') { + scoped = function (f) { return { has_child: { type: 'feature-element', filter: f } }; }; + } else { + scoped = function (f) { return f; }; + } + + function stepStatus(vals) { + return { nested: { path: 'steps', filter: { terms: { 'steps.result.status': vals } } } }; + } if (ufilter) { for (var i = 0; i < ufilter.length; i++) { - for (var k in ufilter[i]) { - var val = ufilter[i][k]; + for (var key in ufilter[i]) { + var val = ufilter[i][key]; - switch (k) { + switch (key) { case 'tag': - esfilter.should.push({ term: { 'tags.name': val } }); + var filter = { nested: { path: 'tags', filter: { term: { 'tags.name': val } } } }; + + esfilter.bool.should.push(filter); + + if (type == 'element') { + esfilter.bool.should.push({ has_parent: { type: 'feature', filter: filter } }); + } else { + esfilter.bool.should.push(scoped(filter)); + } break; case 'status': - esfilter.must.push({ - nested: { - path: 'elements.steps', - filter: { term: { 'elements.steps.result.status': val } } - } - }); + var filter; + + if (val === 'passed') { + filter = { not: stepStatus(['failed', 'skipped']) }; + } else { + filter = stepStatus([val]); + } + + esfilter.bool.must.push(scoped(filter)); + break; } } } } + + esfilter.bool = self.pruneFilter(esfilter.bool); return esfilter; }; @@ -116,19 +156,51 @@ }); }; - self.loadFeatures = function (buildId, ufilter) { - var filter = self.compileUserFilter(ufilter); - filter.must.push({ has_parent: { type: 'build', filter: { term: { _id: buildId } } } }); + self.loadElements = function (featureIds, ufilter) { + var elementFilter = { + bool: { + must: { has_parent: { type: 'feature', filter: { ids: { values: featureIds } } } } + } + }; - if (filter.should.length === 0) { - delete filter.should; + ufilter = self.compileUserFilter('element', ufilter); + + if (Object.keys(ufilter.bool).length > 0) { + elementFilter.bool.should = [ + { term: { type: "background" } }, + ufilter + ]; } - db.search('feature', { filter: { bool: filter } }).done(function (data) { - var features = db.sourcesOf(data.hits.hits); + db.search('feature-element', { filter: elementFilter }, [ '_source', '_parent']) + .done(function (data) { + console.log(data); + self.trigger('load-build-features-elements', db.sourcesOf(data.hits.hits, '_parent')); + }); + }; - self.postFilterScenarios(features, ufilter); - self.trigger('load-build-features', buildId, features); + self.loadFeatures = function (buildId, ufilter) { + var featureFilter = { + bool: { + must: [ { has_parent: { type: 'build', filter: { term: { _id: buildId } } } } ] + } + }; + + ufilter = self.compileUserFilter('feature', ufilter); + + if (ufilter.bool.must) { + for (var i = 0; i < ufilter.bool.must.length; i++) { + featureFilter.bool.must.push(ufilter.bool.must[i]); + } + } + + if (ufilter.bool.should) { + featureFilter.bool.should = ufilter.bool.should; + } + + db.search('feature', { filter: featureFilter }).done(function (data) { + console.log(data); + self.trigger('load-build-features', buildId, db.sourcesOf(data.hits.hits)); }); }; @@ -145,69 +217,20 @@ }); }; - self.matchesFilter = function (element, ufilter) { - var index = { tag: [], status: 'passed' }, - filters = [], - matches = {}, - match = true; - - if (!ufilter || element.type === 'background') { - return true; - } - - for (var i = 0; i < ufilter.length; i++) { - for (var k in ufilter[i]) { - filters.push(k); - } - } - - if (element.name.match(/advanced setting/i)) debugger; - - for (var i = 0; i < element.steps.length; i++) { - var step = element.steps[i]; - - if (index.status !== 'failed' && step.result.status !== index.status) { - index.status = step.result.status; - } - - for (var j = 0; step.tags && j < step.tags.length; j++) { - index.tag.push(step.tags[j].name); - } - } - - for (var k in index) { - matches[k] = filters.indexOf(k) === -1; - } - - for (var i = 0; i < ufilter.length; i++) { - for (var k in ufilter[i]) { - if (typeof index[k] !== undefined) { - var val = ufilter[i][k]; - - if (index[k] === val || index[k].indexOf(val) > -1) { - matches[k] = true; - } - } - } - } - - for (var k in matches) { - match = match && matches[k]; - } - - return match; - }; - self.mount = function (selector) { riot.mount(selector, 'pl-dashboard', self); }; - self.postFilterScenarios = function (features, ufilter) { - for (var i = 0; i < features.length; i++) { - features[i].elements = features[i].elements.filter(function (element) { - return self.matchesFilter(element, ufilter); - }); + self.pruneFilter = function (filter) { + var newFilter = {}; + + for (var k in filter) { + if (filter[k].length > 0) { + newFilter[k] = filter[k]; + } } + + return newFilter; }; self.route = function (collection, id) { diff --git a/test/fixtures/data.json b/test/fixtures/data.json new file mode 100644 index 0000000..9407bfe --- /dev/null +++ b/test/fixtures/data.json @@ -0,0 +1,77 @@ +{ "index": { "_type": "build", "_id": "b1" } } +{ "build_number": 1 } + +{ "index": { "_type": "feature", "_id": "b1f1", "_parent": "b1" } } +{ "keyword": "Feature", "name": "VisualEditor Links", "line": 2, "description": "", "tags": [ { "name": "@en.wikipedia.beta.wmflabs.org", "line": 1 }, { "name": "@internet_explorer_10", "line": 1 }, { "name": "@login", "line": 1 }, { "name": "@test2.wikipedia.org", "line": 1 } ], "id": "visualeditor-links", "uri": "features/links.feature" } + +{ "index": { "_type": "feature-element", "_id": "b1f1e1", "_parent": "b1f1" } } +{ "keyword": "Background", "name": "", "line": 4, "description": "", "type": "background", "steps": [ { "keyword": "Given ", "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Links VisualEditor Test" }, { "offset": 57, "val": "Links VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 36398509000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1228741000 } }, { "keyword": "And ", "name": "I click the Link button", "line": 7, "match": { "location": "features/step_definitions/links_steps.rb:9" }, "result": { "status": "passed", "duration": 1342402000 } }, { "keyword": "And ", "name": "I can see the Link User Inteface", "line": 8, "match": { "location": "features/step_definitions/links_steps.rb:1" }, "result": { "status": "passed", "duration": 772573000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b1f1e2", "_parent": "b1f1" } } +{ "keyword": "Scenario", "name": "Enter external link", "line": 10, "description": "", "id": "visualeditor-links;enter-external-link", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Links VisualEditor Test" }, { "offset": 57, "val": "Links VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 262000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 192000 } }, { "keyword": "And ", "name": "I click the Link button", "line": 7, "match": { "location": "features/step_definitions/links_steps.rb:9" }, "result": { "status": "passed", "duration": 188000 } }, { "keyword": "And ", "name": "I can see the Link User Inteface", "line": 8, "match": { "location": "features/step_definitions/links_steps.rb:1" }, "result": { "status": "passed", "duration": 440000 } }, { "keyword": "When ", "name": "I enter external link http://www.example.com into link Content box", "line": 11, "match": { "arguments": [{ "offset": 22, "val": "http://www.example.com" }], "location": "features/step_definitions/links_steps.rb:13" }, "result": { "status": "passed", "duration": 17927988000 } }, { "keyword": "And ", "name": "I click Done to close Link User Interface", "line": 12, "match": { "location": "features/step_definitions/links_steps.rb:5" }, "result": { "status": "passed", "duration": 1003999 } }, { "keyword": "And ", "name": "I click Save page", "line": 13, "match": { "location": "features/step_definitions/shared_steps.rb:49" }, "result": { "status": "passed", "duration": 1200000 } }, { "keyword": "And ", "name": "I click Review your changes", "line": 14, "match": { "location": "features/step_definitions/shared_steps.rb:45" }, "result": { "status": "passed", "duration": 979000 } }, { "keyword": "Then ", "name": "an external link appears in the diff view", "line": 15, "match": { "location": "features/step_definitions/links_steps.rb:46" }, "result": { "status": "passed", "duration": 909000 } } ] } + +{ "index": { "_type": "feature", "_id": "b1f2", "_parent": "b2" } } +{ "keyword": "Feature", "name": "VisualEditor Options", "line": 2, "description": "", "tags": [ { "name": "@en.wikipedia.beta.wmflabs.org", "line": 1 }, { "name": "@firefox", "line": 1 }, { "name": "@internet_explorer_10", "line": 1 }, { "name": "@safari", "line": 1 }, { "name": "@test2.wikipedia.org", "line": 1 } ], "id": "visualeditor-options", "uri": "features/options.feature" } + +{ "index": { "_type": "feature-element", "_id": "b1f2e1", "_parent": "b1f2" } } +{ "keyword": "Background", "name": "", "line": 4, "description": "", "type": "background", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13995618000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1297954000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 2081309000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b1f2e2", "_parent": "b1f2" } } +{ "keyword": "Scenario", "name": "Options", "line": 9, "description": "", "id": "visualeditor-options;options", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 248999 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 207000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 216000 } }, { "keyword": "When ", "name": "I click Options", "line": 10, "match": { "location": "features/step_definitions/options_steps.rb:33" }, "result": { "status": "passed", "duration": 1459172000 } }, { "keyword": "Then ", "name": "I should see the options overlay", "line": 11, "match": { "location": "features/step_definitions/options_steps.rb:69" }, "result": { "status": "passed", "duration": 1625016000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b1f2e3", "_parent": "b1f2" } } +{ "keyword": "Scenario", "name": "Advanced Settings", "line": 13, "description": "", "id": "visualeditor-options;advanced-settings", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 14652534000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1336753000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 1977429000 } }, { "keyword": "When ", "name": "I click Advanced Settings", "line": 14, "match": { "location": "features/step_definitions/options_steps.rb:21" }, "result": { "status": "passed", "duration": 1445250000 } }, { "keyword": "Then ", "name": "I should see the options overlay", "line": 15, "match": { "location": "features/step_definitions/options_steps.rb:69" }, "result": { "status": "passed", "duration": 1541360000 } }, { "keyword": "And ", "name": "the options overlay should display Advanced Settings", "line": 16, "match": { "location": "features/step_definitions/options_steps.rb:73" }, "result": { "status": "passed", "duration": 1258035000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b1f2e4", "_parent": "b1f2" } } +{ "keyword": "Scenario", "name": "Page Settings", "line": 18, "description": "", "id": "visualeditor-options;page-settings", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13775548000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1312728000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 2162537000 } }, { "keyword": "When ", "name": "I click Page Settings", "line": 19, "match": { "location": "features/step_definitions/options_steps.rb:37" }, "result": { "status": "passed", "duration": 1400966000 } }, { "keyword": "Then ", "name": "I should see the options overlay", "line": 20, "match": { "location": "features/step_definitions/options_steps.rb:69" }, "result": { "status": "passed", "duration": 1487332000 } }, { "keyword": "And ", "name": "the options overlay should display Page Settings", "line": 21, "match": { "location": "features/step_definitions/options_steps.rb:81" }, "result": { "status": "passed", "duration": 1056103999 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b1f2e5", "_parent": "b1f2" } } +{ "keyword": "Scenario", "name": "Categories", "line": 23, "description": "", "id": "visualeditor-options;categories", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13972204000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1267778000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 2009850000 } }, { "keyword": "When ", "name": "I click Categories", "line": 24, "match": { "location": "features/step_definitions/options_steps.rb:29" }, "result": { "status": "passed", "duration": 1477469000 } }, { "keyword": "Then ", "name": "I should see the options overlay", "line": 25, "match": { "location": "features/step_definitions/options_steps.rb:69" }, "result": { "status": "passed", "duration": 2618606000 } }, { "keyword": "And ", "name": "the options overlay should display Categories", "line": 26, "match": { "location": "features/step_definitions/options_steps.rb:77" }, "result": { "status": "passed", "duration": 1304112000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b1f2e6", "_parent": "b1f2" } } +{ "keyword": "Scenario", "name": "Advanced Settings setting fields", "line": 28, "description": "", "id": "visualeditor-options;advanced-settings-setting-fields", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13794748000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1255158000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 2070142999 } }, { "keyword": "When ", "name": "I click Advanced Settings", "line": 29, "match": { "location": "features/step_definitions/options_steps.rb:21" }, "result": { "status": "passed", "duration": 1431204000 } }, { "keyword": "And ", "name": "I click Yes for Indexed by Search Engines", "line": 30, "match": { "location": "features/step_definitions/options_steps.rb:45" }, "result": { "status": "passed", "duration": 1390585000 } }, { "keyword": "And ", "name": "I click Yes for showing tab for adding new section", "line": 31, "match": { "location": "features/step_definitions/options_steps.rb:49" }, "result": { "status": "passed", "duration": 1215773000 } }, { "keyword": "And ", "name": "I check the option for Enable display title", "line": 32, "match": { "location": "features/step_definitions/options_steps.rb:1" }, "result": { "status": "failed", "error_message": "unable to locate element, using {:index=>4, :tag_name=>\"input\", :type=>\"checkbox\"} (Watir::Exception::UnknownObjectException)\n(eval):1:in `process_watir_call'\n./features/step_definitions/options_steps.rb:2:in `/^I check the option for Enable display title$/'\nfeatures/options.feature:32:in `And I check the option for Enable display title'", "duration": 311250000 } }, { "keyword": "And ", "name": "I type \"automated test\" for display title textbox", "line": 33, "match": { "arguments": [{ "offset": 8, "val": "automated test" }], "location": "features/step_definitions/options_steps.rb:61" }, "result": { "status": "skipped", "duration": 962000 } }, { "keyword": "And ", "name": "I click Apply Changes button", "line": 34, "match": { "location": "features/step_definitions/options_steps.rb:25" }, "result": { "status": "skipped", "duration": 724000 } }, { "keyword": "And ", "name": "I click Save page", "line": 35, "match": { "location": "features/step_definitions/shared_steps.rb:49" }, "result": { "status": "skipped", "duration": 483000 } }, { "keyword": "And ", "name": "I click Review your changes", "line": 36, "match": { "location": "features/step_definitions/shared_steps.rb:45" }, "result": { "status": "skipped", "duration": 500000 } }, { "keyword": "Then ", "name": "the options set in Advanced Settings panel should appear in diff view", "line": 37, "match": { "location": "features/step_definitions/options_steps.rb:85" }, "result": { "status": "skipped", "duration": 889000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b1f2e7", "_parent": "b1f2" } } +{ "keyword": "Scenario", "name": "Setting the fields in Page Settings", "line": 39, "description": "", "id": "visualeditor-options;setting-the-fields-in-page-settings", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13815343000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1220136000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 1182166000 } }, { "keyword": "When ", "name": "I click Page Settings", "line": 40, "match": { "location": "features/step_definitions/options_steps.rb:37" }, "result": { "status": "passed", "duration": 1356627000 } }, { "keyword": "And ", "name": "I check the option for Redirect this page to", "line": 41, "match": { "location": "features/step_definitions/options_steps.rb:13" }, "result": { "status": "passed", "duration": 1127131000 } }, { "keyword": "And ", "name": "I type \"Linux\" for redirect page", "line": 42, "match": { "arguments": [{ "offset": 8, "val": "Linux" }], "location": "features/step_definitions/options_steps.rb:65" }, "result": { "status": "passed", "duration": 1645933000 } }, { "keyword": "And ", "name": "I check the option for Prevent this redirect being updated when target page is moved", "line": 43, "match": { "location": "features/step_definitions/options_steps.rb:9" }, "result": { "status": "passed", "duration": 995585000 } }, { "keyword": "And ", "name": "I select the option Always for showing Table of Contents", "line": 44, "match": { "location": "features/step_definitions/options_steps.rb:57" }, "result": { "status": "passed", "duration": 1277368000 } }, { "keyword": "And ", "name": "I check the option for Disable edit links next to each heading on this page", "line": 45, "match": { "location": "features/step_definitions/options_steps.rb:5" }, "result": { "status": "passed", "duration": 1002413000 } }, { "keyword": "And ", "name": "I check the option for This is a Disambiguation page", "line": 46, "match": { "location": "features/step_definitions/options_steps.rb:17" }, "result": { "status": "failed", "error_message": "Element is not currently visible and so may not be interacted with (Selenium::WebDriver::Error::ElementNotVisibleError)\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12257:in `DelayedCommand.prototype.checkPreconditions_'\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12274:in `DelayedCommand.prototype.executeInternal_/h'\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12279:in `DelayedCommand.prototype.executeInternal_'\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12221:in `DelayedCommand.prototype.execute/<'\n(eval):1:in `process_watir_call'\n./features/step_definitions/options_steps.rb:18:in `/^I check the option for This is a Disambiguation page$/'\nfeatures/options.feature:46:in `And I check the option for This is a Disambiguation page'", "duration": 954323000 } }, { "keyword": "And ", "name": "I click Apply Changes button", "line": 47, "match": { "location": "features/step_definitions/options_steps.rb:25" }, "result": { "status": "skipped", "duration": 444000 } }, { "keyword": "And ", "name": "I click Save page", "line": 48, "match": { "location": "features/step_definitions/shared_steps.rb:49" }, "result": { "status": "skipped", "duration": 380000 } }, { "keyword": "And ", "name": "I click Review your changes", "line": 49, "match": { "location": "features/step_definitions/shared_steps.rb:45" }, "result": { "status": "skipped", "duration": 368000 } }, { "keyword": "Then ", "name": "the options set in Page Settings panel should appear in diff view", "line": 50, "match": { "location": "features/step_definitions/options_steps.rb:94" }, "result": { "status": "skipped", "duration": 764000 } } ] } + +{ "index": { "_type": "feature", "_id": "b1f3", "_parent": "b3" } } +{ "keyword": "Feature", "name": "VisualEditor References", "line": 2, "description": "", "tags": [ { "name": "@en.wikipedia.beta.wmflabs.org", "line": 1 }, { "name": "@firefox", "line": 1 }, { "name": "@internet_explorer_10", "line": 1 }, { "name": "@login", "line": 1 }, { "name": "@safari", "line": 1 }, { "name": "@test2.wikipedia.org", "line": 1 } ], "id": "visualeditor-references", "uri": "features/references.feature" } + +{ "index": { "_type": "feature-element", "_id": "b1f3e1", "_parent": "b1f3" } } +{ "keyword": "Background", "name": "", "line": 4, "description": "", "type": "background", "steps": [ { "keyword": "Given ", "name": "I go to a page that has references", "line": 5, "match": { "location": "features/step_definitions/references_steps.rb:1" }, "result": { "status": "passed", "duration": 15070603000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1305241000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b1f3e2", "_parent": "b1f3" } } +{ "keyword": "Scenario", "name": "Creating References list", "line": 8, "description": "", "id": "visualeditor-references;creating-references-list", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to a page that has references", "line": 5, "match": { "location": "features/step_definitions/references_steps.rb:1" }, "result": { "status": "passed", "duration": 510999 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 402000 } }, { "keyword": "Given ", "name": "I click Reference", "line": 9, "match": { "location": "features/step_definitions/references_steps.rb:19" }, "result": { "status": "failed", "error_message": "timed out after 5 seconds, waiting for {:css=>\".ve-test-toolbar-insert > div:nth-child(2) > span:nth-child(8) > a:nth-child(1)\"} to become present (Watir::Wait::TimeoutError)\n./features/step_definitions/references_steps.rb:22:in `block (2 levels) in <top (required)>'\n/Users/dduvall/Projects/mediawiki/selenium/lib/mediawiki_selenium/page_factory.rb:30:in `block in on_page'\n/Users/dduvall/Projects/mediawiki/selenium/lib/mediawiki_selenium/page_factory.rb:19:in `on_page'\n./features/step_definitions/references_steps.rb:20:in `/^I click Reference$/'\nfeatures/references.feature:9:in `Given I click Reference'", "duration": 7321064000 } }, { "keyword": "And ", "name": "I can see the References User Interface", "line": 10, "match": { "location": "features/step_definitions/references_steps.rb:11" }, "result": { "status": "skipped", "duration": 800000 } }, { "keyword": "When ", "name": "I click Insert references list", "line": 11, "match": { "location": "features/step_definitions/references_steps.rb:15" }, "result": { "status": "skipped", "duration": 662000 } }, { "keyword": "Then ", "name": "link to Insert menu should be visible", "line": 12, "match": { "location": "features/step_definitions/references_steps.rb:53" }, "result": { "status": "skipped", "duration": 600000 } } ] } + +{ "index": { "_type": "build", "_id": "b2" } } +{ "build_number": 2 } + +{ "index": { "_type": "feature", "_id": "b2f1", "_parent": "b2" } } +{ "keyword": "Feature", "name": "VisualEditor Links", "line": 2, "description": "", "tags": [ { "name": "@en.wikipedia.beta.wmflabs.org", "line": 1 }, { "name": "@internet_explorer_10", "line": 1 }, { "name": "@login", "line": 1 }, { "name": "@test2.wikipedia.org", "line": 1 } ], "id": "visualeditor-links", "uri": "features/links.feature" } + +{ "index": { "_type": "feature-element", "_id": "b2f1e1", "_parent": "b2f1" } } +{ "keyword": "Background", "name": "", "line": 4, "description": "", "type": "background", "steps": [ { "keyword": "Given ", "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Links VisualEditor Test" }, { "offset": 57, "val": "Links VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 36398509000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1228741000 } }, { "keyword": "And ", "name": "I click the Link button", "line": 7, "match": { "location": "features/step_definitions/links_steps.rb:9" }, "result": { "status": "passed", "duration": 1342402000 } }, { "keyword": "And ", "name": "I can see the Link User Inteface", "line": 8, "match": { "location": "features/step_definitions/links_steps.rb:1" }, "result": { "status": "passed", "duration": 772573000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b2f1e2", "_parent": "b2f1" } } +{ "keyword": "Scenario", "name": "Enter external link", "line": 10, "description": "", "id": "visualeditor-links;enter-external-link", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Links VisualEditor Test" }, { "offset": 57, "val": "Links VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 262000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 192000 } }, { "keyword": "And ", "name": "I click the Link button", "line": 7, "match": { "location": "features/step_definitions/links_steps.rb:9" }, "result": { "status": "passed", "duration": 188000 } }, { "keyword": "And ", "name": "I can see the Link User Inteface", "line": 8, "match": { "location": "features/step_definitions/links_steps.rb:1" }, "result": { "status": "passed", "duration": 440000 } }, { "keyword": "When ", "name": "I enter external link http://www.example.com into link Content box", "line": 11, "match": { "arguments": [{ "offset": 22, "val": "http://www.example.com" }], "location": "features/step_definitions/links_steps.rb:13" }, "result": { "status": "passed", "duration": 17927988000 } }, { "keyword": "And ", "name": "I click Done to close Link User Interface", "line": 12, "match": { "location": "features/step_definitions/links_steps.rb:5" }, "result": { "status": "passed", "duration": 1003999 } }, { "keyword": "And ", "name": "I click Save page", "line": 13, "match": { "location": "features/step_definitions/shared_steps.rb:49" }, "result": { "status": "passed", "duration": 1200000 } }, { "keyword": "And ", "name": "I click Review your changes", "line": 14, "match": { "location": "features/step_definitions/shared_steps.rb:45" }, "result": { "status": "passed", "duration": 979000 } }, { "keyword": "Then ", "name": "an external link appears in the diff view", "line": 15, "match": { "location": "features/step_definitions/links_steps.rb:46" }, "result": { "status": "passed", "duration": 909000 } } ] } + +{ "index": { "_type": "feature", "_id": "b2f3", "_parent": "b3" } } +{ "keyword": "Feature", "name": "VisualEditor References", "line": 2, "description": "", "tags": [ { "name": "@en.wikipedia.beta.wmflabs.org", "line": 1 }, { "name": "@firefox", "line": 1 }, { "name": "@internet_explorer_10", "line": 1 }, { "name": "@login", "line": 1 }, { "name": "@safari", "line": 1 }, { "name": "@test2.wikipedia.org", "line": 1 } ], "id": "visualeditor-references", "uri": "features/references.feature" } + +{ "index": { "_type": "feature-element", "_id": "b2f3e1", "_parent": "b2f3" } } +{ "keyword": "Background", "name": "", "line": 4, "description": "", "type": "background", "steps": [ { "keyword": "Given ", "name": "I go to a page that has references", "line": 5, "match": { "location": "features/step_definitions/references_steps.rb:1" }, "result": { "status": "passed", "duration": 15070603000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1305241000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b2f3e2", "_parent": "b2f3" } } +{ "keyword": "Scenario", "name": "Creating References list", "line": 8, "description": "", "id": "visualeditor-references;creating-references-list", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to a page that has references", "line": 5, "match": { "location": "features/step_definitions/references_steps.rb:1" }, "result": { "status": "passed", "duration": 510999 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 402000 } }, { "keyword": "Given ", "name": "I click Reference", "line": 9, "match": { "location": "features/step_definitions/references_steps.rb:19" }, "result": { "status": "failed", "error_message": "timed out after 5 seconds, waiting for {:css=>\".ve-test-toolbar-insert > div:nth-child(2) > span:nth-child(8) > a:nth-child(1)\"} to become present (Watir::Wait::TimeoutError)\n./features/step_definitions/references_steps.rb:22:in `block (2 levels) in <top (required)>'\n/Users/dduvall/Projects/mediawiki/selenium/lib/mediawiki_selenium/page_factory.rb:30:in `block in on_page'\n/Users/dduvall/Projects/mediawiki/selenium/lib/mediawiki_selenium/page_factory.rb:19:in `on_page'\n./features/step_definitions/references_steps.rb:20:in `/^I click Reference$/'\nfeatures/references.feature:9:in `Given I click Reference'", "duration": 7321064000 } }, { "keyword": "And ", "name": "I can see the References User Interface", "line": 10, "match": { "location": "features/step_definitions/references_steps.rb:11" }, "result": { "status": "skipped", "duration": 800000 } }, { "keyword": "When ", "name": "I click Insert references list", "line": 11, "match": { "location": "features/step_definitions/references_steps.rb:15" }, "result": { "status": "skipped", "duration": 662000 } }, { "keyword": "Then ", "name": "link to Insert menu should be visible", "line": 12, "match": { "location": "features/step_definitions/references_steps.rb:53" }, "result": { "status": "skipped", "duration": 600000 } } ] } + +{ "index": { "_type": "build", "_id": "b3" } } +{ "build_number": 3 } + +{ "index": { "_type": "feature", "_id": "b3f1", "_parent": "b3" } } +{ "keyword": "Feature", "name": "VisualEditor Links", "line": 2, "description": "", "tags": [ { "name": "@en.wikipedia.beta.wmflabs.org", "line": 1 }, { "name": "@internet_explorer_10", "line": 1 }, { "name": "@login", "line": 1 }, { "name": "@test2.wikipedia.org", "line": 1 } ], "id": "visualeditor-links", "uri": "features/links.feature" } + +{ "index": { "_type": "feature-element", "_id": "b3f1e1", "_parent": "b3f1" } } +{ "keyword": "Background", "name": "", "line": 4, "description": "", "type": "background", "steps": [ { "keyword": "Given ", "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Links VisualEditor Test" }, { "offset": 57, "val": "Links VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 36398509000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1228741000 } }, { "keyword": "And ", "name": "I click the Link button", "line": 7, "match": { "location": "features/step_definitions/links_steps.rb:9" }, "result": { "status": "passed", "duration": 1342402000 } }, { "keyword": "And ", "name": "I can see the Link User Inteface", "line": 8, "match": { "location": "features/step_definitions/links_steps.rb:1" }, "result": { "status": "passed", "duration": 772573000 } } ] } + +{ "index": { "_type": "feature-element", "_id": "b3f1e2", "_parent": "b3f1" } } +{ "keyword": "Scenario", "name": "Enter external link", "line": 10, "description": "", "id": "visualeditor-links;enter-external-link", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Links VisualEditor Test" }, { "offset": 57, "val": "Links VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 262000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 192000 } }, { "keyword": "And ", "name": "I click the Link button", "line": 7, "match": { "location": "features/step_definitions/links_steps.rb:9" }, "result": { "status": "passed", "duration": 188000 } }, { "keyword": "And ", "name": "I can see the Link User Inteface", "line": 8, "match": { "location": "features/step_definitions/links_steps.rb:1" }, "result": { "status": "passed", "duration": 440000 } }, { "keyword": "When ", "name": "I enter external link http://www.example.com into link Content box", "line": 11, "match": { "arguments": [{ "offset": 22, "val": "http://www.example.com" }], "location": "features/step_definitions/links_steps.rb:13" }, "result": { "status": "passed", "duration": 17927988000 } }, { "keyword": "And ", "name": "I click Done to close Link User Interface", "line": 12, "match": { "location": "features/step_definitions/links_steps.rb:5" }, "result": { "status": "passed", "duration": 1003999 } }, { "keyword": "And ", "name": "I click Save page", "line": 13, "match": { "location": "features/step_definitions/shared_steps.rb:49" }, "result": { "status": "passed", "duration": 1200000 } }, { "keyword": "And ", "name": "I click Review your changes", "line": 14, "match": { "location": "features/step_definitions/shared_steps.rb:45" }, "result": { "status": "passed", "duration": 979000 } }, { "keyword": "Then ", "name": "an external link appears in the diff view", "line": 15, "match": { "location": "features/step_definitions/links_steps.rb:46" }, "result": { "status": "passed", "duration": 909000 } } ] } diff --git a/test/fixtures/feature1.json b/test/fixtures/feature1.json index 0a979a5..db782fa 100644 --- a/test/fixtures/feature1.json +++ b/test/fixtures/feature1.json @@ -10,132 +10,5 @@ { "name": "@test2.wikipedia.org", "line": 1 } ], "id": "visualeditor-links", - "uri": "features/links.feature", - "elements": [ - { - "keyword": "Background", - "name": "", - "line": 4, - "description": "", - "type": "background", - "steps": [ - { - "keyword": "Given ", - "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", - "line": 5, - "match": { - "arguments": [ - { "offset": 13, "val": "Links VisualEditor Test" }, - { "offset": 57, "val": "Links VisualEditor Test" } - ], - "location": "features/step_definitions/shared_steps.rb:17" - }, - "result": { "status": "passed", "duration": 36398509000 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 1228741000 } - }, - { - "keyword": "And ", - "name": "I click the Link button", - "line": 7, - "match": { "location": "features/step_definitions/links_steps.rb:9" }, - "result": { "status": "passed", "duration": 1342402000 } - }, - { - "keyword": "And ", - "name": "I can see the Link User Inteface", - "line": 8, - "match": { "location": "features/step_definitions/links_steps.rb:1" }, - "result": { "status": "passed", "duration": 772573000 } - } - ] - }, - { - "keyword": "Scenario", - "name": "Enter external link", - "line": 10, - "description": "", - "id": "visualeditor-links;enter-external-link", - "type": "scenario", - "steps": [ - { - "keyword": "Given ", - "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", - "line": 5, - "match": { - "arguments": [ - { "offset": 13, "val": "Links VisualEditor Test" }, - { "offset": 57, "val": "Links VisualEditor Test" } - ], - "location": "features/step_definitions/shared_steps.rb:17" - }, - "result": { "status": "passed", "duration": 262000 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 192000 } - }, - { - "keyword": "And ", - "name": "I click the Link button", - "line": 7, - "match": { "location": "features/step_definitions/links_steps.rb:9" }, - "result": { "status": "passed", "duration": 188000 } - }, - { - "keyword": "And ", - "name": "I can see the Link User Inteface", - "line": 8, - "match": { "location": "features/step_definitions/links_steps.rb:1" }, - "result": { "status": "passed", "duration": 440000 } - }, - { - "keyword": "When ", - "name": "I enter external link http://www.example.com into link Content box", - "line": 11, - "match": { - "arguments": [{ "offset": 22, "val": "http://www.example.com" }], - "location": "features/step_definitions/links_steps.rb:13" - }, - "result": { "status": "passed", "duration": 17927988000 } - }, - { - "keyword": "And ", - "name": "I click Done to close Link User Interface", - "line": 12, - "match": { "location": "features/step_definitions/links_steps.rb:5" }, - "result": { "status": "passed", "duration": 1003999 } - }, - { - "keyword": "And ", - "name": "I click Save page", - "line": 13, - "match": { "location": "features/step_definitions/shared_steps.rb:49" }, - "result": { "status": "passed", "duration": 1200000 } - }, - { - "keyword": "And ", - "name": "I click Review your changes", - "line": 14, - "match": { "location": "features/step_definitions/shared_steps.rb:45" }, - "result": { "status": "passed", "duration": 979000 } - }, - { - "keyword": "Then ", - "name": "an external link appears in the diff view", - "line": 15, - "match": { "location": "features/step_definitions/links_steps.rb:46" }, - "result": { "status": "passed", "duration": 909000 } - } - ] - } - ] + "uri": "features/links.feature" } diff --git a/test/fixtures/feature2.json b/test/fixtures/feature2.json index 544b0d1..283b87c 100644 --- a/test/fixtures/feature2.json +++ b/test/fixtures/feature2.json @@ -11,496 +11,5 @@ { "name": "@test2.wikipedia.org", "line": 1 } ], "id": "visualeditor-options", - "uri": "features/options.feature", - "elements": [ - { - "keyword": "Background", - "name": "", - "line": 4, - "description": "", - "type": "background", - "steps": [ - { - "keyword": "Given ", - "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", - "line": 5, - "match": { - "arguments": [ - { "offset": 13, "val": "Options VisualEditor Test" }, - { "offset": 59, "val": "Options VisualEditor Test" } - ], - "location": "features/step_definitions/shared_steps.rb:17" - }, - "result": { "status": "passed", "duration": 13995618000 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 1297954000 } - }, - { - "keyword": "And ", - "name": "I click the hamburger menu", - "line": 7, - "match": { "location": "features/step_definitions/options_steps.rb:41" }, - "result": { "status": "passed", "duration": 2081309000 } - } - ] - }, - { - "keyword": "Scenario", - "name": "Options", - "line": 9, - "description": "", - "id": "visualeditor-options;options", - "type": "scenario", - "steps": [ - { - "keyword": "Given ", - "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", - "line": 5, - "match": { - "arguments": [ - { "offset": 13, "val": "Options VisualEditor Test" }, - { "offset": 59, "val": "Options VisualEditor Test" } - ], - "location": "features/step_definitions/shared_steps.rb:17" - }, - "result": { "status": "passed", "duration": 248999 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 207000 } - }, - { - "keyword": "And ", - "name": "I click the hamburger menu", - "line": 7, - "match": { "location": "features/step_definitions/options_steps.rb:41" }, - "result": { "status": "passed", "duration": 216000 } - }, - { - "keyword": "When ", - "name": "I click Options", - "line": 10, - "match": { "location": "features/step_definitions/options_steps.rb:33" }, - "result": { "status": "passed", "duration": 1459172000 } - }, - { - "keyword": "Then ", - "name": "I should see the options overlay", - "line": 11, - "match": { "location": "features/step_definitions/options_steps.rb:69" }, - "result": { "status": "passed", "duration": 1625016000 } - } - ] - }, - { - "keyword": "Scenario", - "name": "Advanced Settings", - "line": 13, - "description": "", - "id": "visualeditor-options;advanced-settings", - "type": "scenario", - "steps": [ - { - "keyword": "Given ", - "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", - "line": 5, - "match": { - "arguments": [ - { "offset": 13, "val": "Options VisualEditor Test" }, - { "offset": 59, "val": "Options VisualEditor Test" } - ], - "location": "features/step_definitions/shared_steps.rb:17" - }, - "result": { "status": "passed", "duration": 14652534000 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 1336753000 } - }, - { - "keyword": "And ", - "name": "I click the hamburger menu", - "line": 7, - "match": { "location": "features/step_definitions/options_steps.rb:41" }, - "result": { "status": "passed", "duration": 1977429000 } - }, - { - "keyword": "When ", - "name": "I click Advanced Settings", - "line": 14, - "match": { "location": "features/step_definitions/options_steps.rb:21" }, - "result": { "status": "passed", "duration": 1445250000 } - }, - { - "keyword": "Then ", - "name": "I should see the options overlay", - "line": 15, - "match": { "location": "features/step_definitions/options_steps.rb:69" }, - "result": { "status": "passed", "duration": 1541360000 } - }, - { - "keyword": "And ", - "name": "the options overlay should display Advanced Settings", - "line": 16, - "match": { "location": "features/step_definitions/options_steps.rb:73" }, - "result": { "status": "passed", "duration": 1258035000 } - } - ] - }, - { - "keyword": "Scenario", - "name": "Page Settings", - "line": 18, - "description": "", - "id": "visualeditor-options;page-settings", - "type": "scenario", - "steps": [ - { - "keyword": "Given ", - "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", - "line": 5, - "match": { - "arguments": [ - { "offset": 13, "val": "Options VisualEditor Test" }, - { "offset": 59, "val": "Options VisualEditor Test" } - ], - "location": "features/step_definitions/shared_steps.rb:17" - }, - "result": { "status": "passed", "duration": 13775548000 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 1312728000 } - }, - { - "keyword": "And ", - "name": "I click the hamburger menu", - "line": 7, - "match": { "location": "features/step_definitions/options_steps.rb:41" }, - "result": { "status": "passed", "duration": 2162537000 } - }, - { - "keyword": "When ", - "name": "I click Page Settings", - "line": 19, - "match": { "location": "features/step_definitions/options_steps.rb:37" }, - "result": { "status": "passed", "duration": 1400966000 } - }, - { - "keyword": "Then ", - "name": "I should see the options overlay", - "line": 20, - "match": { "location": "features/step_definitions/options_steps.rb:69" }, - "result": { "status": "passed", "duration": 1487332000 } - }, - { - "keyword": "And ", - "name": "the options overlay should display Page Settings", - "line": 21, - "match": { "location": "features/step_definitions/options_steps.rb:81" }, - "result": { "status": "passed", "duration": 1056103999 } - } - ] - }, - { - "keyword": "Scenario", - "name": "Categories", - "line": 23, - "description": "", - "id": "visualeditor-options;categories", - "type": "scenario", - "steps": [ - { - "keyword": "Given ", - "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", - "line": 5, - "match": { - "arguments": [ - { "offset": 13, "val": "Options VisualEditor Test" }, - { "offset": 59, "val": "Options VisualEditor Test" } - ], - "location": "features/step_definitions/shared_steps.rb:17" - }, - "result": { "status": "passed", "duration": 13972204000 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 1267778000 } - }, - { - "keyword": "And ", - "name": "I click the hamburger menu", - "line": 7, - "match": { "location": "features/step_definitions/options_steps.rb:41" }, - "result": { "status": "passed", "duration": 2009850000 } - }, - { - "keyword": "When ", - "name": "I click Categories", - "line": 24, - "match": { "location": "features/step_definitions/options_steps.rb:29" }, - "result": { "status": "passed", "duration": 1477469000 } - }, - { - "keyword": "Then ", - "name": "I should see the options overlay", - "line": 25, - "match": { "location": "features/step_definitions/options_steps.rb:69" }, - "result": { "status": "passed", "duration": 2618606000 } - }, - { - "keyword": "And ", - "name": "the options overlay should display Categories", - "line": 26, - "match": { "location": "features/step_definitions/options_steps.rb:77" }, - "result": { "status": "passed", "duration": 1304112000 } - } - ] - }, - { - "keyword": "Scenario", - "name": "Advanced Settings setting fields", - "line": 28, - "description": "", - "id": "visualeditor-options;advanced-settings-setting-fields", - "type": "scenario", - "steps": [ - { - "keyword": "Given ", - "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", - "line": 5, - "match": { - "arguments": [ - { "offset": 13, "val": "Options VisualEditor Test" }, - { "offset": 59, "val": "Options VisualEditor Test" } - ], - "location": "features/step_definitions/shared_steps.rb:17" - }, - "result": { "status": "passed", "duration": 13794748000 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 1255158000 } - }, - { - "keyword": "And ", - "name": "I click the hamburger menu", - "line": 7, - "match": { "location": "features/step_definitions/options_steps.rb:41" }, - "result": { "status": "passed", "duration": 2070142999 } - }, - { - "keyword": "When ", - "name": "I click Advanced Settings", - "line": 29, - "match": { "location": "features/step_definitions/options_steps.rb:21" }, - "result": { "status": "passed", "duration": 1431204000 } - }, - { - "keyword": "And ", - "name": "I click Yes for Indexed by Search Engines", - "line": 30, - "match": { "location": "features/step_definitions/options_steps.rb:45" }, - "result": { "status": "passed", "duration": 1390585000 } - }, - { - "keyword": "And ", - "name": "I click Yes for showing tab for adding new section", - "line": 31, - "match": { "location": "features/step_definitions/options_steps.rb:49" }, - "result": { "status": "passed", "duration": 1215773000 } - }, - { - "keyword": "And ", - "name": "I check the option for Enable display title", - "line": 32, - "match": { "location": "features/step_definitions/options_steps.rb:1" }, - "result": { - "status": "failed", - "error_message": "unable to locate element, using {:index=>4, :tag_name=>\"input\", :type=>\"checkbox\"} (Watir::Exception::UnknownObjectException)\n(eval):1:in `process_watir_call'\n./features/step_definitions/options_steps.rb:2:in `/^I check the option for Enable display title$/'\nfeatures/options.feature:32:in `And I check the option for Enable display title'", - "duration": 311250000 - } - }, - { - "keyword": "And ", - "name": "I type \"automated test\" for display title textbox", - "line": 33, - "match": { - "arguments": [{ "offset": 8, "val": "automated test" }], - "location": "features/step_definitions/options_steps.rb:61" - }, - "result": { "status": "skipped", "duration": 962000 } - }, - { - "keyword": "And ", - "name": "I click Apply Changes button", - "line": 34, - "match": { "location": "features/step_definitions/options_steps.rb:25" }, - "result": { "status": "skipped", "duration": 724000 } - }, - { - "keyword": "And ", - "name": "I click Save page", - "line": 35, - "match": { "location": "features/step_definitions/shared_steps.rb:49" }, - "result": { "status": "skipped", "duration": 483000 } - }, - { - "keyword": "And ", - "name": "I click Review your changes", - "line": 36, - "match": { "location": "features/step_definitions/shared_steps.rb:45" }, - "result": { "status": "skipped", "duration": 500000 } - }, - { - "keyword": "Then ", - "name": "the options set in Advanced Settings panel should appear in diff view", - "line": 37, - "match": { "location": "features/step_definitions/options_steps.rb:85" }, - "result": { "status": "skipped", "duration": 889000 } - } - ] - }, - { - "keyword": "Scenario", - "name": "Setting the fields in Page Settings", - "line": 39, - "description": "", - "id": "visualeditor-options;setting-the-fields-in-page-settings", - "type": "scenario", - "steps": [ - { - "keyword": "Given ", - "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", - "line": 5, - "match": { - "arguments": [ - { "offset": 13, "val": "Options VisualEditor Test" }, - { "offset": 59, "val": "Options VisualEditor Test" } - ], - "location": "features/step_definitions/shared_steps.rb:17" - }, - "result": { "status": "passed", "duration": 13815343000 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 1220136000 } - }, - { - "keyword": "And ", - "name": "I click the hamburger menu", - "line": 7, - "match": { "location": "features/step_definitions/options_steps.rb:41" }, - "result": { "status": "passed", "duration": 1182166000 } - }, - { - "keyword": "When ", - "name": "I click Page Settings", - "line": 40, - "match": { "location": "features/step_definitions/options_steps.rb:37" }, - "result": { "status": "passed", "duration": 1356627000 } - }, - { - "keyword": "And ", - "name": "I check the option for Redirect this page to", - "line": 41, - "match": { "location": "features/step_definitions/options_steps.rb:13" }, - "result": { "status": "passed", "duration": 1127131000 } - }, - { - "keyword": "And ", - "name": "I type \"Linux\" for redirect page", - "line": 42, - "match": { - "arguments": [{ "offset": 8, "val": "Linux" }], - "location": "features/step_definitions/options_steps.rb:65" - }, - "result": { "status": "passed", "duration": 1645933000 } - }, - { - "keyword": "And ", - "name": "I check the option for Prevent this redirect being updated when target page is moved", - "line": 43, - "match": { "location": "features/step_definitions/options_steps.rb:9" }, - "result": { "status": "passed", "duration": 995585000 } - }, - { - "keyword": "And ", - "name": "I select the option Always for showing Table of Contents", - "line": 44, - "match": { "location": "features/step_definitions/options_steps.rb:57" }, - "result": { "status": "passed", "duration": 1277368000 } - }, - { - "keyword": "And ", - "name": "I check the option for Disable edit links next to each heading on this page", - "line": 45, - "match": { "location": "features/step_definitions/options_steps.rb:5" }, - "result": { "status": "passed", "duration": 1002413000 } - }, - { - "keyword": "And ", - "name": "I check the option for This is a Disambiguation page", - "line": 46, - "match": { "location": "features/step_definitions/options_steps.rb:17" }, - "result": { - "status": "failed", - "error_message": "Element is not currently visible and so may not be interacted with (Selenium::WebDriver::Error::ElementNotVisibleError)\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12257:in `DelayedCommand.prototype.checkPreconditions_'\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12274:in `DelayedCommand.prototype.executeInternal_/h'\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12279:in `DelayedCommand.prototype.executeInternal_'\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12221:in `DelayedCommand.prototype.execute/<'\n(eval):1:in `process_watir_call'\n./features/step_definitions/options_steps.rb:18:in `/^I check the option for This is a Disambiguation page$/'\nfeatures/options.feature:46:in `And I check the option for This is a Disambiguation page'", - "duration": 954323000 - } - }, - { - "keyword": "And ", - "name": "I click Apply Changes button", - "line": 47, - "match": { "location": "features/step_definitions/options_steps.rb:25" }, - "result": { "status": "skipped", "duration": 444000 } - }, - { - "keyword": "And ", - "name": "I click Save page", - "line": 48, - "match": { "location": "features/step_definitions/shared_steps.rb:49" }, - "result": { "status": "skipped", "duration": 380000 } - }, - { - "keyword": "And ", - "name": "I click Review your changes", - "line": 49, - "match": { "location": "features/step_definitions/shared_steps.rb:45" }, - "result": { "status": "skipped", "duration": 368000 } - }, - { - "keyword": "Then ", - "name": "the options set in Page Settings panel should appear in diff view", - "line": 50, - "match": { "location": "features/step_definitions/options_steps.rb:94" }, - "result": { "status": "skipped", "duration": 764000 } - } - ] - } - ] + "uri": "features/options.feature" } diff --git a/test/fixtures/feature3.json b/test/fixtures/feature3.json index 3f4f3b3..15a03e5 100644 --- a/test/fixtures/feature3.json +++ b/test/fixtures/feature3.json @@ -12,86 +12,5 @@ { "name": "@test2.wikipedia.org", "line": 1 } ], "id": "visualeditor-references", - "uri": "features/references.feature", - "elements": [ - { - "keyword": "Background", - "name": "", - "line": 4, - "description": "", - "type": "background", - "steps": [ - { - "keyword": "Given ", - "name": "I go to a page that has references", - "line": 5, - "match": { "location": "features/step_definitions/references_steps.rb:1" }, - "result": { "status": "passed", "duration": 15070603000 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 1305241000 } - } - ] - }, - { - "keyword": "Scenario", - "name": "Creating References list", - "line": 8, - "description": "", - "id": "visualeditor-references;creating-references-list", - "type": "scenario", - "steps": [ - { - "keyword": "Given ", - "name": "I go to a page that has references", - "line": 5, - "match": { "location": "features/step_definitions/references_steps.rb:1" }, - "result": { "status": "passed", "duration": 510999 } - }, - { - "keyword": "And ", - "name": "I click in the editable part", - "line": 6, - "match": { "location": "features/step_definitions/shared_steps.rb:6" }, - "result": { "status": "passed", "duration": 402000 } - }, - { - "keyword": "Given ", - "name": "I click Reference", - "line": 9, - "match": { "location": "features/step_definitions/references_steps.rb:19" }, - "result": { - "status": "failed", - "error_message": "timed out after 5 seconds, waiting for {:css=>\".ve-test-toolbar-insert > div:nth-child(2) > span:nth-child(8) > a:nth-child(1)\"} to become present (Watir::Wait::TimeoutError)\n./features/step_definitions/references_steps.rb:22:in `block (2 levels) in <top (required)>'\n/Users/dduvall/Projects/mediawiki/selenium/lib/mediawiki_selenium/page_factory.rb:30:in `block in on_page'\n/Users/dduvall/Projects/mediawiki/selenium/lib/mediawiki_selenium/page_factory.rb:19:in `on_page'\n./features/step_definitions/references_steps.rb:20:in `/^I click Reference$/'\nfeatures/references.feature:9:in `Given I click Reference'", - "duration": 7321064000 - } - }, - { - "keyword": "And ", - "name": "I can see the References User Interface", - "line": 10, - "match": { "location": "features/step_definitions/references_steps.rb:11" }, - "result": { "status": "skipped", "duration": 800000 } - }, - { - "keyword": "When ", - "name": "I click Insert references list", - "line": 11, - "match": { "location": "features/step_definitions/references_steps.rb:15" }, - "result": { "status": "skipped", "duration": 662000 } - }, - { - "keyword": "Then ", - "name": "link to Insert menu should be visible", - "line": 12, - "match": { "location": "features/step_definitions/references_steps.rb:53" }, - "result": { "status": "skipped", "duration": 600000 } - } - ] - } - ] + "uri": "features/references.feature" } diff --git a/test/fixtures/scenarios1.json b/test/fixtures/scenarios1.json new file mode 100644 index 0000000..41700ed --- /dev/null +++ b/test/fixtures/scenarios1.json @@ -0,0 +1,2 @@ +{ "keyword": "Background", "name": "", "line": 4, "description": "", "type": "background", "steps": [ { "keyword": "Given ", "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Links VisualEditor Test" }, { "offset": 57, "val": "Links VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 36398509000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1228741000 } }, { "keyword": "And ", "name": "I click the Link button", "line": 7, "match": { "location": "features/step_definitions/links_steps.rb:9" }, "result": { "status": "passed", "duration": 1342402000 } }, { "keyword": "And ", "name": "I can see the Link User Inteface", "line": 8, "match": { "location": "features/step_definitions/links_steps.rb:1" }, "result": { "status": "passed", "duration": 772573000 } } ] } +{ "keyword": "Scenario", "name": "Enter external link", "line": 10, "description": "", "id": "visualeditor-links;enter-external-link", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Links VisualEditor Test\" page with content \"Links VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Links VisualEditor Test" }, { "offset": 57, "val": "Links VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 262000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 192000 } }, { "keyword": "And ", "name": "I click the Link button", "line": 7, "match": { "location": "features/step_definitions/links_steps.rb:9" }, "result": { "status": "passed", "duration": 188000 } }, { "keyword": "And ", "name": "I can see the Link User Inteface", "line": 8, "match": { "location": "features/step_definitions/links_steps.rb:1" }, "result": { "status": "passed", "duration": 440000 } }, { "keyword": "When ", "name": "I enter external link http://www.example.com into link Content box", "line": 11, "match": { "arguments": [{ "offset": 22, "val": "http://www.example.com" }], "location": "features/step_definitions/links_steps.rb:13" }, "result": { "status": "passed", "duration": 17927988000 } }, { "keyword": "And ", "name": "I click Done to close Link User Interface", "line": 12, "match": { "location": "features/step_definitions/links_steps.rb:5" }, "result": { "status": "passed", "duration": 1003999 } }, { "keyword": "And ", "name": "I click Save page", "line": 13, "match": { "location": "features/step_definitions/shared_steps.rb:49" }, "result": { "status": "passed", "duration": 1200000 } }, { "keyword": "And ", "name": "I click Review your changes", "line": 14, "match": { "location": "features/step_definitions/shared_steps.rb:45" }, "result": { "status": "passed", "duration": 979000 } }, { "keyword": "Then ", "name": "an external link appears in the diff view", "line": 15, "match": { "location": "features/step_definitions/links_steps.rb:46" }, "result": { "status": "passed", "duration": 909000 } } ] } diff --git a/test/fixtures/scenarios2.json b/test/fixtures/scenarios2.json new file mode 100644 index 0000000..f411196 --- /dev/null +++ b/test/fixtures/scenarios2.json @@ -0,0 +1,7 @@ +{ "keyword": "Background", "name": "", "line": 4, "description": "", "type": "background", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13995618000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1297954000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 2081309000 } } ] } +{ "keyword": "Scenario", "name": "Options", "line": 9, "description": "", "id": "visualeditor-options;options", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 248999 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 207000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 216000 } }, { "keyword": "When ", "name": "I click Options", "line": 10, "match": { "location": "features/step_definitions/options_steps.rb:33" }, "result": { "status": "passed", "duration": 1459172000 } }, { "keyword": "Then ", "name": "I should see the options overlay", "line": 11, "match": { "location": "features/step_definitions/options_steps.rb:69" }, "result": { "status": "passed", "duration": 1625016000 } } ] } +{ "keyword": "Scenario", "name": "Advanced Settings", "line": 13, "description": "", "id": "visualeditor-options;advanced-settings", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 14652534000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1336753000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 1977429000 } }, { "keyword": "When ", "name": "I click Advanced Settings", "line": 14, "match": { "location": "features/step_definitions/options_steps.rb:21" }, "result": { "status": "passed", "duration": 1445250000 } }, { "keyword": "Then ", "name": "I should see the options overlay", "line": 15, "match": { "location": "features/step_definitions/options_steps.rb:69" }, "result": { "status": "passed", "duration": 1541360000 } }, { "keyword": "And ", "name": "the options overlay should display Advanced Settings", "line": 16, "match": { "location": "features/step_definitions/options_steps.rb:73" }, "result": { "status": "passed", "duration": 1258035000 } } ] } +{ "keyword": "Scenario", "name": "Page Settings", "line": 18, "description": "", "id": "visualeditor-options;page-settings", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13775548000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1312728000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 2162537000 } }, { "keyword": "When ", "name": "I click Page Settings", "line": 19, "match": { "location": "features/step_definitions/options_steps.rb:37" }, "result": { "status": "passed", "duration": 1400966000 } }, { "keyword": "Then ", "name": "I should see the options overlay", "line": 20, "match": { "location": "features/step_definitions/options_steps.rb:69" }, "result": { "status": "passed", "duration": 1487332000 } }, { "keyword": "And ", "name": "the options overlay should display Page Settings", "line": 21, "match": { "location": "features/step_definitions/options_steps.rb:81" }, "result": { "status": "passed", "duration": 1056103999 } } ] } +{ "keyword": "Scenario", "name": "Categories", "line": 23, "description": "", "id": "visualeditor-options;categories", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13972204000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1267778000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 2009850000 } }, { "keyword": "When ", "name": "I click Categories", "line": 24, "match": { "location": "features/step_definitions/options_steps.rb:29" }, "result": { "status": "passed", "duration": 1477469000 } }, { "keyword": "Then ", "name": "I should see the options overlay", "line": 25, "match": { "location": "features/step_definitions/options_steps.rb:69" }, "result": { "status": "passed", "duration": 2618606000 } }, { "keyword": "And ", "name": "the options overlay should display Categories", "line": 26, "match": { "location": "features/step_definitions/options_steps.rb:77" }, "result": { "status": "passed", "duration": 1304112000 } } ] } +{ "keyword": "Scenario", "name": "Advanced Settings setting fields", "line": 28, "description": "", "id": "visualeditor-options;advanced-settings-setting-fields", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13794748000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1255158000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 2070142999 } }, { "keyword": "When ", "name": "I click Advanced Settings", "line": 29, "match": { "location": "features/step_definitions/options_steps.rb:21" }, "result": { "status": "passed", "duration": 1431204000 } }, { "keyword": "And ", "name": "I click Yes for Indexed by Search Engines", "line": 30, "match": { "location": "features/step_definitions/options_steps.rb:45" }, "result": { "status": "passed", "duration": 1390585000 } }, { "keyword": "And ", "name": "I click Yes for showing tab for adding new section", "line": 31, "match": { "location": "features/step_definitions/options_steps.rb:49" }, "result": { "status": "passed", "duration": 1215773000 } }, { "keyword": "And ", "name": "I check the option for Enable display title", "line": 32, "match": { "location": "features/step_definitions/options_steps.rb:1" }, "result": { "status": "failed", "error_message": "unable to locate element, using {:index=>4, :tag_name=>\"input\", :type=>\"checkbox\"} (Watir::Exception::UnknownObjectException)\n(eval):1:in `process_watir_call'\n./features/step_definitions/options_steps.rb:2:in `/^I check the option for Enable display title$/'\nfeatures/options.feature:32:in `And I check the option for Enable display title'", "duration": 311250000 } }, { "keyword": "And ", "name": "I type \"automated test\" for display title textbox", "line": 33, "match": { "arguments": [{ "offset": 8, "val": "automated test" }], "location": "features/step_definitions/options_steps.rb:61" }, "result": { "status": "skipped", "duration": 962000 } }, { "keyword": "And ", "name": "I click Apply Changes button", "line": 34, "match": { "location": "features/step_definitions/options_steps.rb:25" }, "result": { "status": "skipped", "duration": 724000 } }, { "keyword": "And ", "name": "I click Save page", "line": 35, "match": { "location": "features/step_definitions/shared_steps.rb:49" }, "result": { "status": "skipped", "duration": 483000 } }, { "keyword": "And ", "name": "I click Review your changes", "line": 36, "match": { "location": "features/step_definitions/shared_steps.rb:45" }, "result": { "status": "skipped", "duration": 500000 } }, { "keyword": "Then ", "name": "the options set in Advanced Settings panel should appear in diff view", "line": 37, "match": { "location": "features/step_definitions/options_steps.rb:85" }, "result": { "status": "skipped", "duration": 889000 } } ] } +{ "keyword": "Scenario", "name": "Setting the fields in Page Settings", "line": 39, "description": "", "id": "visualeditor-options;setting-the-fields-in-page-settings", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to the \"Options VisualEditor Test\" page with content \"Options VisualEditor Test\"", "line": 5, "match": { "arguments": [ { "offset": 13, "val": "Options VisualEditor Test" }, { "offset": 59, "val": "Options VisualEditor Test" } ], "location": "features/step_definitions/shared_steps.rb:17" }, "result": { "status": "passed", "duration": 13815343000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1220136000 } }, { "keyword": "And ", "name": "I click the hamburger menu", "line": 7, "match": { "location": "features/step_definitions/options_steps.rb:41" }, "result": { "status": "passed", "duration": 1182166000 } }, { "keyword": "When ", "name": "I click Page Settings", "line": 40, "match": { "location": "features/step_definitions/options_steps.rb:37" }, "result": { "status": "passed", "duration": 1356627000 } }, { "keyword": "And ", "name": "I check the option for Redirect this page to", "line": 41, "match": { "location": "features/step_definitions/options_steps.rb:13" }, "result": { "status": "passed", "duration": 1127131000 } }, { "keyword": "And ", "name": "I type \"Linux\" for redirect page", "line": 42, "match": { "arguments": [{ "offset": 8, "val": "Linux" }], "location": "features/step_definitions/options_steps.rb:65" }, "result": { "status": "passed", "duration": 1645933000 } }, { "keyword": "And ", "name": "I check the option for Prevent this redirect being updated when target page is moved", "line": 43, "match": { "location": "features/step_definitions/options_steps.rb:9" }, "result": { "status": "passed", "duration": 995585000 } }, { "keyword": "And ", "name": "I select the option Always for showing Table of Contents", "line": 44, "match": { "location": "features/step_definitions/options_steps.rb:57" }, "result": { "status": "passed", "duration": 1277368000 } }, { "keyword": "And ", "name": "I check the option for Disable edit links next to each heading on this page", "line": 45, "match": { "location": "features/step_definitions/options_steps.rb:5" }, "result": { "status": "passed", "duration": 1002413000 } }, { "keyword": "And ", "name": "I check the option for This is a Disambiguation page", "line": 46, "match": { "location": "features/step_definitions/options_steps.rb:17" }, "result": { "status": "failed", "error_message": "Element is not currently visible and so may not be interacted with (Selenium::WebDriver::Error::ElementNotVisibleError)\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12257:in `DelayedCommand.prototype.checkPreconditions_'\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12274:in `DelayedCommand.prototype.executeInternal_/h'\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12279:in `DelayedCommand.prototype.executeInternal_'\n[remote server] file:///var/folders/65/_x0d5xfx62dg61__x6cy3pz40000gp/T/webdriver-profile20150408-73323-lcegcm/extensions/fxdri...@googlecode.com/components/command-processor.js:12221:in `DelayedCommand.prototype.execute/<'\n(eval):1:in `process_watir_call'\n./features/step_definitions/options_steps.rb:18:in `/^I check the option for This is a Disambiguation page$/'\nfeatures/options.feature:46:in `And I check the option for This is a Disambiguation page'", "duration": 954323000 } }, { "keyword": "And ", "name": "I click Apply Changes button", "line": 47, "match": { "location": "features/step_definitions/options_steps.rb:25" }, "result": { "status": "skipped", "duration": 444000 } }, { "keyword": "And ", "name": "I click Save page", "line": 48, "match": { "location": "features/step_definitions/shared_steps.rb:49" }, "result": { "status": "skipped", "duration": 380000 } }, { "keyword": "And ", "name": "I click Review your changes", "line": 49, "match": { "location": "features/step_definitions/shared_steps.rb:45" }, "result": { "status": "skipped", "duration": 368000 } }, { "keyword": "Then ", "name": "the options set in Page Settings panel should appear in diff view", "line": 50, "match": { "location": "features/step_definitions/options_steps.rb:94" }, "result": { "status": "skipped", "duration": 764000 } } ] } diff --git a/test/fixtures/scenarios3.json b/test/fixtures/scenarios3.json new file mode 100644 index 0000000..e808d11 --- /dev/null +++ b/test/fixtures/scenarios3.json @@ -0,0 +1,2 @@ +{ "keyword": "Background", "name": "", "line": 4, "description": "", "type": "background", "steps": [ { "keyword": "Given ", "name": "I go to a page that has references", "line": 5, "match": { "location": "features/step_definitions/references_steps.rb:1" }, "result": { "status": "passed", "duration": 15070603000 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 1305241000 } } ] } +{ "keyword": "Scenario", "name": "Creating References list", "line": 8, "description": "", "id": "visualeditor-references;creating-references-list", "type": "scenario", "steps": [ { "keyword": "Given ", "name": "I go to a page that has references", "line": 5, "match": { "location": "features/step_definitions/references_steps.rb:1" }, "result": { "status": "passed", "duration": 510999 } }, { "keyword": "And ", "name": "I click in the editable part", "line": 6, "match": { "location": "features/step_definitions/shared_steps.rb:6" }, "result": { "status": "passed", "duration": 402000 } }, { "keyword": "Given ", "name": "I click Reference", "line": 9, "match": { "location": "features/step_definitions/references_steps.rb:19" }, "result": { "status": "failed", "error_message": "timed out after 5 seconds, waiting for {:css=>\".ve-test-toolbar-insert > div:nth-child(2) > span:nth-child(8) > a:nth-child(1)\"} to become present (Watir::Wait::TimeoutError)\n./features/step_definitions/references_steps.rb:22:in `block (2 levels) in <top (required)>'\n/Users/dduvall/Projects/mediawiki/selenium/lib/mediawiki_selenium/page_factory.rb:30:in `block in on_page'\n/Users/dduvall/Projects/mediawiki/selenium/lib/mediawiki_selenium/page_factory.rb:19:in `on_page'\n./features/step_definitions/references_steps.rb:20:in `/^I click Reference$/'\nfeatures/references.feature:9:in `Given I click Reference'", "duration": 7321064000 } }, { "keyword": "And ", "name": "I can see the References User Interface", "line": 10, "match": { "location": "features/step_definitions/references_steps.rb:11" }, "result": { "status": "skipped", "duration": 800000 } }, { "keyword": "When ", "name": "I click Insert references list", "line": 11, "match": { "location": "features/step_definitions/references_steps.rb:15" }, "result": { "status": "skipped", "duration": 662000 } }, { "keyword": "Then ", "name": "link to Insert menu should be visible", "line": 12, "match": { "location": "features/step_definitions/references_steps.rb:53" }, "result": { "status": "skipped", "duration": 600000 } } ] } -- To view, visit https://gerrit.wikimedia.org/r/206871 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I647bb65f470ea9d62ed612ee2d7304a63fe35409 Gerrit-PatchSet: 1 Gerrit-Project: integration/raita Gerrit-Branch: master Gerrit-Owner: Dduvall <dduv...@wikimedia.org> Gerrit-Reviewer: Dduvall <dduv...@wikimedia.org> Gerrit-Reviewer: Hashar <has...@free.fr> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits