Link to build:
https://ci.appveyor.com/project/NVAccess/nvda/builds/45276333/tests
System test logs:
alpha27093 commit f6745056-SymbolsTestFailures-systemTestResult.zip
Failures:
- Robot.symbolPronunciationTests.moveByWord
- Error message: Didn't return to the first item with left arrow
- Robot.symbolPronunciationTests.moveByCharacter
- Error message: Didn't return to the first item with left arrow
- Robot.symbolPronunciationTests.delayedCharacterDescriptions
- Error message: Didn't return to the first item with left arrow
- Robot.symbolPronunciationTests.selectionByWord
- Error message: Didn't return to the first item with left arrow
- Robot.symbolPronunciationTests.selectionByLine
- Error message: Didn't return to the first item with left arrow
- Robot.symbolPronunciationTests.tableHeaderSymbols
- Error message: Didn't return to the first item with left arrow
- Robot.symbolPronunciationTests.selectionByCharacter
- Error message: Didn't return to the first item with left arrow
- Robot.symbolPronunciationTests.symbolInSpeechUI
- Error message: Didn't return to the first item with left arrow
- Robot.symbolPronunciationTests.moveByLine
- Error message: Didn't return to the first item with left arrow
Investigation:
- Since there are multiple failures with the same error message it is best to start by investigating the first. From the robot framework log, this was:
symbolPronunciationTests.symbolInSpeechUI
- Screenshot shows the task switcher active, with chrome, docker desktop user survey, notepad and appveyor build agent in that order.
- Robot log shows that the task switcher was opened, then the left arrow was pressed.
- The "first item speech" was: "Welcome to Chrome Google Chrome column 1"
- The test then fails with "Didn't return to the first item with left arrow"
- Looking at the logic in
tests.system.libraries.WindowsLib.taskSwitchToItemMatching the pattern used is firstItemPattern = _re.compile(r"row 1\s+column 1")
Note:
- The actual speech for the first item includes the column number but not the row number.
- Only changed row/columns are reported.
- This pattern is required to detect when there is only one item in the task switcher.
- Looking at the logic in
taskSwitchToItemMatching, the title of the item at column 2 could be considered before moving on.
- It isn't clear whether it will always be faster to move forward through the list or backwards:
- In cases like this, notepad is the third item, forwards would be faster.
- Hypothetical case (not yet confirmed to be fixed) for chrome: Already the foreground, but NVDA needs another foreground event to inject. Going backwards would be faster.
- The tests should also cater to a prior test failing and leaving the task switcher open, in this case a subsequent press of
control+alt+tab will move the selection forward, to column 3.
Link to build:
https://ci.appveyor.com/project/NVAccess/nvda/builds/45276333/tests
System test logs:
alpha27093 commit f6745056-SymbolsTestFailures-systemTestResult.zip
Failures:
Investigation:
symbolPronunciationTests.symbolInSpeechUItests.system.libraries.WindowsLib.taskSwitchToItemMatchingthe pattern used isfirstItemPattern = _re.compile(r"row 1\s+column 1")Note:
taskSwitchToItemMatching, the title of the item at column 2 could be considered before moving on.control+alt+tabwill move the selection forward, to column 3.