-
Notifications
You must be signed in to change notification settings - Fork 10k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Automate all E2E tests on WebView #45157
Comments
We want the semantics to be the same, otherwise libraries won't work properly. |
Yeah, lazy-loading won't practically work in WebView the same way it does on WASM. We can probably have an implementation of |
|
The pending work here is to automate using Photino in the dotnet/aspnetcore repo. |
Thanks for contacting us. We're moving this issue to the |
Thanks for contacting us. We're moving this issue to the |
We now have test apps that can run the Blazor E2E tests from
BasicTestApp
within a WinForms or WPFBlazorWebView
(see #31021). This represents the majority of Blazor's E2E test cases. Most already pass without trouble, some fail for expected reasons (they aren't applicable scenarios, or can't work until SWA is added), and a few fail unexpectedly and probably indicate a missing piece of implementation or an actual bug. This issue is to track getting them all to work or at least explaining why they aren't applicable.Note that I've only checked the following within WinForms hosting, just because I got to it first. There's no reason to think that WPF or MAUI hosting would behave differently (except if MAUI is on Mono, in which case certain dependency edge cases could vary).
Test cases
BasicTestApp.AddRemoveChildComponents (Add/remove child components)
BasicTestApp.AfterRenderInteropComponent (After-render interop component)
BasicTestApp.AsyncEventHandlerComponent (Async event handlers)
BasicTestApp.AuthTest.AuthRouter (Auth cases)
BasicTestApp.AuthTest.CascadingAuthenticationStateParent (Cascading authentication state)
BasicTestApp.BindCasesComponent (bind cases)
BasicTestApp.CascadingValueTest.CascadingValueSupplier (Cascading values)
BasicTestApp.ComponentRefComponent (Component ref component)
BasicTestApp.ConcurrentRenderParent (Concurrent rendering)
BasicTestApp.ConfigurationComponent (Configuration)
IWebAssemblyHostEnvironment
.BasicTestApp.ContentEditable (Content-editable)
BasicTestApp.CounterComponent (Counter)
BasicTestApp.CounterComponentUsingChild (Counter using child component)
BasicTestApp.CounterComponentWrapper (Counter wrapped in parent)
BasicTestApp.CulturePicker (Culture Picker)
BasicTestApp.DataDashComponent (data- attribute rendering)
BasicTestApp.DispatchingComponent (Dispatching to sync context)
BasicTestApp.DuplicateAttributesComponent (Duplicate attributes)
BasicTestApp.DynamicComponentRendering (DynamicComponent rendering)
BasicTestApp.ElementFocusComponent (Element focus component)
BasicTestApp.ElementRefComponent (Element ref component)
BasicTestApp.ErrorComponent (Error throwing)
BasicTestApp.EventBubblingComponent (Event bubbling)
BasicTestApp.EventCallbackTest.EventCallbackCases (EventCallback)
BasicTestApp.EventCustomArgsComponent (Event custom arguments)
BasicTestApp.EventDisablingComponent (Event disabling)
BasicTestApp.EventDuringBatchRendering (Event during batch rendering)
BasicTestApp.EventPreventDefaultComponent (Event preventDefault)
BasicTestApp.ExternalContentPackage (External content package)
BasicTestApp.FocusEventComponent (Focus events)
BasicTestApp.FormsTest.InputFocusComponent (Input Focus)
BasicTestApp.FormsTest.NotifyPropertyChangedValidationComponent (INotifyPropertyChanged validation)
BasicTestApp.FormsTest.SimpleValidationComponent (Simple validation)
BasicTestApp.FormsTest.SimpleValidationComponentUsingExperimentalValidator (Simple validation using experimental validator)
Could not load type 'BasicTestApp.FormsTest.SimpleValidationComponentUsingExperimentalValidator'
BasicTestApp.FormsTest.TypicalValidationComponent (Typical validation)
BasicTestApp.FormsTest.TypicalValidationComponentUsingExperimentalValidator (Typical validation using experimental validator)
Could not load type 'BasicTestApp.FormsTest.TypicalValidationComponentUsingExperimentalValidator'
BasicTestApp.FormsTest.InputFileComponent (Input file)
BasicTestApp.NavigateOnSubmit (Navigate to submit)
BasicTestApp.GlobalizationBindCases (Globalization Bind Cases)
BasicTestApp.GracefulTermination (Graceful Termination)
BasicTestApp.HierarchicalImportsTest.Subdir.ComponentUsingImports (Imports statement)
BasicTestApp.HtmlBlockChildContent (ChildContent HTML Block)
BasicTestApp.HtmlEncodedChildContent (ChildContent HTML Encoded Block)
BasicTestApp.HtmlMixedChildContent (ChildContent Mixed Block)
BasicTestApp.HttpClientTest.BinaryHttpRequestsComponent (Binary HttpClient tester)
HttpClient
is independent of the code here. Validating it in more detail requires figuring out exactly what the automated tests would do (e.g., which URLs they request).BasicTestApp.HttpClientTest.CookieCounterComponent (HttpClient cookies)
HttpClient
is independent of the code here. Validating it in more detail requires figuring out exactly what the automated tests would do (e.g., which URLs they request).BasicTestApp.HttpClientTest.HttpRequestsComponent (HttpClient tester)
HttpClient
is independent of the code here. Validating it in more detail requires figuring out exactly what the automated tests would do (e.g., which URLs they request).BasicTestApp.InputEventComponent (Input events)
BasicTestApp.InteropComponent (Interop component)
BasicTestApp.InteropOnInitializationComponent (Interop on initialization)
BasicTestApp.JsonSerializationCases (JSON serialization)
BasicTestApp.KeyCasesComponent (Key cases)
BasicTestApp.KeyPressEventComponent (Key press event)
BasicTestApp.LaggyTypingComponent (Laggy typing)
BasicTestApp.LimitCounterComponent (Limit counter component)
BasicTestApp.LocalizedText (Localized Text)
BasicTestApp.LogicalElementInsertionCases (Logical element insertion cases)
BasicTestApp.LoggingComponent (Logging)
BasicTestApp.LongRunningInterop (Long running interop)
BasicTestApp.MarkupBlockComponent (Markup blocks)
BasicTestApp.MouseEventComponent (Mouse events)
BasicTestApp.MovingCheckboxesComponent (Moving checkboxes diff case)
BasicTestApp.MultipleChildContent (Multiple child content)
BasicTestApp.NavigationFailureComponent (Navigation failure)
BasicTestApp.ParentChildComponent (Parent component with child)
BasicTestApp.PropertiesChangedHandlerParent (Parent component that changes parameters on child)
@GetTestServerProjectComponent("Components.TestServer.ProtectedBrowserStorageUsageComponent") (Protected browser storage usage)
ProtectedBrowserStorage
doesn't make sense in WebView (same as in WebAssembly)@GetTestServerProjectComponent("Components.TestServer.ProtectedBrowserStorageInjectionComponent") (Protected browser storage injection)
ProtectedBrowserStorage
doesn't make sense in WebView (same as in WebAssembly)BasicTestApp.RazorTemplates (Razor Templates)
BasicTestApp.Reconnection.ReconnectionComponent (Reconnection server-side blazor)
BasicTestApp.RedTextComponent (Red text)
BasicTestApp.ReliabilityComponent (Server reliability component)
BasicTestApp.RenderFragmentToggler (Render fragment renderer)
BasicTestApp.RenderAttributesBeforeConnectedCallback (Render attributes before ConnectedCallback)
BasicTestApp.ReorderingFocusComponent (Reordering focus retention)
BasicTestApp.RouterTest.NavigationManagerComponent (NavigationManager Test)
BasicTestApp.RouterTest.TestRouter (Router)
BasicTestApp.RouterTest.TestRouterWithOnNavigate (Router with OnNavigate)
BasicTestApp.RouterTest.TestRouterWithLazyAssembly (Router with dynamic assembly)
LazyAssemblyLoader
BasicTestApp.RouterTest.TestRouterWithAdditionalAssembly (Router with additional assembly)
BasicTestApp.SelectVariantsComponent (Select with component options)
BasicTestApp.SignalRClientComponent (SignalR client)
BasicTestApp.StringComparisonComponent (StringComparison)
BasicTestApp.SvgComponent (SVG)
BasicTestApp.TextOnlyComponent (Plain text)
BasicTestApp.ToggleEventComponent (Toggle Event)
BasicTestApp.TouchEventComponent (Touch events)
BasicTestApp.VirtualizationComponent (Virtualization)
BasicTestApp.VirtualizationDataChanges (Virtualization data changes)
The text was updated successfully, but these errors were encountered: