Exemplo n.º 1
0
        static async Task Main(string[] args)
        {
            var client = new BlazorClient();

            client.JSInterop += async(args) =>
            {
                if (args.Identifier == "Blazor._internal.navigationManager.navigateTo")
                {
                    var jsonDocument = JsonDocument.Parse(args.ArgsJson);
                    var array        = jsonDocument.RootElement;
                    var uri          = array[0].GetString();
                    if (array[1].GetBoolean())
                    {
                        throw new NotSupportedException("Force load is not supported.");
                    }

                    await client.NavigateAsync(ServerUrl + "/" + uri);
                }
            };
            await client.ConnectAsync(new Uri(ServerUrl));

            await Navigate(client);

            await Clicks(client);

            await NavigateOnClick(client);

            await TypeAhead(client);

            Console.WriteLine("Done");
        }
Exemplo n.º 2
0
        async static Task <int> Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("usage: DemoClient <url> <count>");
                return(1);
            }

            var cts = new CancellationTokenSource();

            Console.CancelKeyPress += (sender, e) =>
            {
                Console.Write("Cancelling...");
                cts.Cancel();
            };

            var uri   = new Uri(args[0]);
            var count = int.Parse(args[1]);

            var tasks = new List <Task>();

            for (var i = 0; i < count; i++)
            {
                Console.WriteLine($"Creating client {i}...");
                var client = new BlazorClient()
                {
                    DefaultOperationTimeout = TimeSpan.FromSeconds(5),
                };

                while (true)
                {
                    try
                    {
                        var connected = await client.ConnectAsync(uri, connectAutomatically : true);

                        if (!connected)
                        {
                            throw new InvalidOperationException("Failed to connect.");
                        }

                        break;
                    }
                    catch (HttpRequestException ex) when(ex.Message.Contains("429"))
                    {
                        Console.WriteLine("Getting rate limited. Waiting...");
                    }

                    await Task.Delay(TimeSpan.FromSeconds(5));
                }

                tasks.Add(Task.Run(() => RunAsync(uri, client, cts.Token)));
            }

            Console.WriteLine($"Started {count} clients.");

            await Task.WhenAll(tasks);

            return(0);
        }
Exemplo n.º 3
0
        static async Task Main(string[] args)
        {
            var client = new BlazorClient();
            await client.ConnectAsync(new Uri(ServerUrl));

            await VerifyNavigationAsync(client);

            Console.WriteLine("Done");
        }