While working on T294110, I've noticed that TemplateWizard Selenium tests fail in CI. Terminal output isn't helpful. (Commit 732977, job: 83468.)
> selenium-test > wdio tests/selenium/wdio.conf.js Execution of 1 spec files started at 2021-10-22T13:58:00.762Z [0-0] RUNNING in chrome - /tests/selenium/specs/TemplateWizard.js ... [0-0] FAILED in chrome - /tests/selenium/specs/TemplateWizard.js Spec Files: 0 passed, 1 failed, 1 total (100% completed) in 00:00:14
WDIO.xunit-2021-10-22T13-58-01-851Z.xml file in build artifacts has more information.
<testcase classname="chrome.90_0_4430_212.linux.TemplateWizard" name="before each hook for TemplateWizard" time="9.441"> <error message="element (".oo-ui-lookupElement-menu") still not displayed after 5000ms"/> <system-err><![CDATA[ Error: element (".oo-ui-lookupElement-menu") still not displayed after 5000ms at Context.<anonymous> (/workspace/src/extensions/TemplateWizard/tests/selenium/specs/TemplateWizard.js:29:36) ]]></system-err> </testcase>
The entire file:
1 | <?xml version="1.0" encoding="UTF-8"?> |
---|---|
2 | <testsuites> |
3 | <testsuite name="TemplateWizard" timestamp="2021-10-22T13:58:05" time="9.444" tests="2" failures="1" errors="1" skipped="1"> |
4 | <properties> |
5 | <property name="specId" value="0"/> |
6 | <property name="suiteName" value="TemplateWizard"/> |
7 | <property name="capabilities" value="chrome.90_0_4430_212.linux"/> |
8 | <property name="file" value="./tests/selenium/specs/TemplateWizard.js"/> |
9 | </properties> |
10 | <testcase classname="chrome.90_0_4430_212.linux.TemplateWizard" name="has 1 required field visible" time="0"> |
11 | <skipped/> |
12 | <system-out><![CDATA[ |
13 | COMMAND: navigateTo - {"url":"http://127.0.0.1:9412//index.php?title=Template%3AExample%200.9804444250229798-I%C3%B1t%C3%ABrn%C3%A2ti%C3%B4n%C3%A0liz%C3%A6ti%C3%B8n"} |
14 | RESULT: undefined |
15 | COMMAND: findElement - {"using":"css selector","value":".mw-templatedata-doc-wrap"} |
16 | RESULT: undefined |
17 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-1","ELEMENT":"ELEMENT-1"}]} |
18 | RESULT: undefined |
19 | COMMAND: navigateTo - {"url":"http://127.0.0.1:9412//index.php?action=edit&title=TemplateWizard_test"} |
20 | RESULT: undefined |
21 | COMMAND: findElement - {"using":"css selector","value":"[rel=\"template-wizard\"] a[role=\"button\"]"} |
22 | RESULT: undefined |
23 | COMMAND: findElement - {"using":"css selector","value":"[rel=\"template-wizard\"] a[role=\"button\"]"} |
24 | RESULT: undefined |
25 | COMMAND: findElement - {"using":"css selector","value":"[rel=\"template-wizard\"] a[role=\"button\"]"} |
26 | RESULT: undefined |
27 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-2","ELEMENT":"ELEMENT-2"}]} |
28 | RESULT: undefined |
29 | COMMAND: findElement - {"using":"css selector","value":"[rel=\"template-wizard\"] a[role=\"button\"]"} |
30 | RESULT: undefined |
31 | COMMAND: elementClick - {"elementId":"ELEMENT-3"} |
32 | RESULT: undefined |
33 | COMMAND: findElement - {"using":"css selector","value":"#ext-templatewizard-dialog"} |
34 | RESULT: undefined |
35 | COMMAND: findElement - {"using":"css selector","value":"#ext-templatewizard-dialog"} |
36 | RESULT: undefined |
37 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-4","ELEMENT":"ELEMENT-4"}]} |
38 | RESULT: undefined |
39 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-4","ELEMENT":"ELEMENT-4"}]} |
40 | RESULT: undefined |
41 | COMMAND: findElement - {"using":"css selector","value":".oo-ui-comboBoxInputWidget-field"} |
42 | RESULT: undefined |
43 | COMMAND: elementClick - {"elementId":"ELEMENT-5"} |
44 | RESULT: undefined |
45 | COMMAND: findElement - {"using":"css selector","value":".ext-templatewizard-searchform input"} |
46 | RESULT: undefined |
47 | COMMAND: elementClear - {"elementId":"ELEMENT-6"} |
48 | RESULT: undefined |
49 | COMMAND: elementSendKeys - {"elementId":"ELEMENT-6","text":"Example 0.9804444250229798-Iñtërnâtiônàlizætiøn"} |
50 | RESULT: undefined |
51 | COMMAND: findElement - {"using":"css selector","value":".oo-ui-lookupElement-menu"} |
52 | RESULT: undefined |
53 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
54 | RESULT: undefined |
55 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
56 | RESULT: undefined |
57 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
58 | RESULT: undefined |
59 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
60 | RESULT: undefined |
61 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
62 | RESULT: undefined |
63 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
64 | RESULT: undefined |
65 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
66 | RESULT: undefined |
67 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
68 | RESULT: undefined |
69 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
70 | RESULT: undefined |
71 | COMMAND: executeScript - {"script":"return (function isElementDisplayed(element) {\n function nodeIsElement(node) {\n if (!node) {\n return false;\n }\n switch (node.nodeType) {\n case Node.ELEMEN ... (7762 more bytes)","args":[{"element-6066-11e4-a52e-4f735466cecf":"ELEMENT-7","ELEMENT":"ELEMENT-7"}]} |
72 | RESULT: undefined |
73 | COMMAND: deleteSession - {} |
74 | RESULT: undefined |
75 | ]]></system-out> |
76 | </testcase> |
77 | <testcase classname="chrome.90_0_4430_212.linux.TemplateWizard" name="before each hook for TemplateWizard" time="9.441"> |
78 | <failure/> |
79 | <error message="element (".oo-ui-lookupElement-menu") still not displayed after 5000ms"/> |
80 | <system-err><![CDATA[ |
81 | Error: element (".oo-ui-lookupElement-menu") still not displayed after 5000ms |
82 | at Context.<anonymous> (/workspace/src/extensions/TemplateWizard/tests/selenium/specs/TemplateWizard.js:29:36) |
83 | ]]></system-err> |
84 | </testcase> |
85 | </testsuite> |
86 | </testsuites> |
I don't think 732977 introduced the problem, because I've ran tests for another recent (merged) patch, and they fail there too, with the same error message. (Patch: 728638, job: 83489.)