osu/osu.Game.Tests/Visual/Online
Dean Herbert c1075d113f Add logging around current channel changes and join requests
Tracking down a flaky test
(https://teamcity.ppy.sh/buildConfiguration/Osu_Build/553?hideProblemsFromDependencies=false&expandBuildTestsSection=true&hideTestsFromDependencies=false):

```csharp
TearDown : System.TimeoutException : "PM Channel 1 displayed" timed out
--TearDown
   at osu.Framework.Testing.Drawables.Steps.UntilStepButton.<>c__DisplayClass11_0.<.ctor>b__0()
   at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
   at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
--- End of stack trace from previous location ---
   at osu.Framework.Testing.TestSceneTestRunner.TestRunner.RunTestBlocking(TestScene test)
   at osu.Game.Tests.Visual.OsuTestScene.OsuTestSceneTestRunner.RunTestBlocking(TestScene test) in /opt/buildagent/work/ecd860037212ac52/osu.Game/Tests/Visual/OsuTestScene.cs:line 503
   at osu.Framework.Testing.TestScene.RunTestsFromNUnit()
------- Stdout: -------
[runtime] 2022-06-27 23:18:55 [verbose]: 💨 Class: TestSceneChatOverlay
[runtime] 2022-06-27 23:18:55 [verbose]: 🔶 Test:  TestKeyboardNextChannel
[runtime] 2022-06-27 23:18:55 [verbose]: Chat is now polling every 60000 ms
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #1 Setup request handler
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #2 Add test channels
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #3 Show overlay with channels
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: Unhandled Request Type: osu.Game.Online.API.Requests.CreateChannelRequest
[network] 2022-06-27 23:18:55 [verbose]: Failing request osu.Game.Online.API.Requests.CreateChannelRequest (System.InvalidOperationException: DummyAPIAccess cannot process this request.)
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #4 Select channel 1
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-27 23:18:55 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/587 failed with System.Net.WebException: NotFound.
[network] 2022-06-27 23:18:55 [verbose]: Request to https://a.ppy.sh/503 failed with System.Net.WebException: NotFound.
[runtime] 2022-06-27 23:19:05 [verbose]: 💥 Failed (on attempt 5,550)
[runtime] 2022-06-27 23:19:05 [verbose]:  Currently loading components (0)
[runtime] 2022-06-27 23:19:05 [verbose]: 🧵 Task schedulers
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (standard) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: LoadComponentsAsync (long load) concurrency:4 running:0 pending:0
[runtime] 2022-06-27 23:19:05 [verbose]: 🎱 Thread pool
[runtime] 2022-06-27 23:19:05 [verbose]: worker:          min 1      max 32,767 available 32,766
[runtime] 2022-06-27 23:19:05 [verbose]: completion:      min 1      max 1,000  available 1,000
[runtime] 2022-06-27 23:19:05 [debug]: Focus on "ChatTextBox" no longer valid as a result of unfocusIfNoLongerValid.
[runtime] 2022-06-27 23:19:05 [debug]: Focus changed from ChatTextBox to nothing.
```

This kind of logging should be helpful:

```csharp
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #5 Channel 1 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #6 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to #channel-2
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #7 Channel 2 is visible
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #8 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 685
[runtime] 2022-06-28 04:59:57 [debug]: Pressed (DocumentNext) handled by TestSceneChatOverlay+TestChatOverlay.
[runtime] 2022-06-28 04:59:57 [debug]: KeyDownEvent(PageDown, False) handled by ManualInputManager+LocalPlatformActionContainer.
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #9 PM Channel 1 displayed
[runtime] 2022-06-28 04:59:57 [verbose]: 🔸 Step #10 Press document next keys
[runtime] 2022-06-28 04:59:57 [verbose]: Current channel changed to test user 218
```
2022-06-28 14:00:30 +09:00
..
TestSceneAccountCreationOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneBeatmapAvailability.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneBeatmapDownloadButton.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneBeatmapListingOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneBeatmapRulesetSelector.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneBeatmapSetOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneBeatmapSetOverlayDetails.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneBeatmapSetOverlaySuccessRate.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneBundledBeatmapDownloader.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneChangelogOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneChangelogSupporterPromo.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneChannelList.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneChannelListing.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneChatLineTruncation.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneChatLink.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneChatOverlay.cs Add logging around current channel changes and join requests 2022-06-28 14:00:30 +09:00
TestSceneChatTextBox.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneCommentsContainer.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneCommentsHeader.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneCurrentlyPlayingDisplay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneDashboardOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneDrawableComment.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneExternalLinkButton.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneFavouriteButton.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneFriendDisplay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneFullscreenOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneGraph.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneHistoricalSection.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneHomeNewsPanel.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneKudosuHistory.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneLeaderboardModSelector.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneLeaderboardScopeSelector.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneMessageNotifier.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneNewsCard.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneNewsHeader.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneNewsOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneNewsSidebar.cs Update parameter discards 2022-06-24 21:26:19 +09:00
TestSceneNowPlayingCommand.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneOfflineCommentsContainer.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneOnlineBeatmapListingOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneOnlineBeatmapSetOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneOnlineViewContainer.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestScenePlayHistorySubsection.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneProfileRulesetSelector.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneRankGraph.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneRankingsCountryFilter.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneRankingsHeader.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneRankingsOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneRankingsSpotlightSelector.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneRankingsTables.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneScoreboardTime.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneScoresContainer.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneShowMoreButton.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneSpotlightsLayout.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneStandAloneChatDisplay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneTotalCommentsCounter.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneUserHistoryGraph.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneUserPanel.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneUserProfileHeader.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneUserProfileOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneUserProfilePreviousUsernames.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneUserProfileRecentSection.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneUserProfileScores.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneUserRanks.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneUserRequest.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneVotePill.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneWikiHeader.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneWikiMainPage.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneWikiMarkdownContainer.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneWikiOverlay.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00
TestSceneWikiSidebar.cs Automated #nullable processing 2022-06-17 16:37:17 +09:00