private static void RunTests()

in utils/WasmTestRunner/Program.cs [151:204]


		private static void RunTests()
		{
			var options = CreateOptions();
			if (UseHeadless)
			{
				options.AddArgument("no-sandbox");
				options.AddArgument("headless");
			}

			options.AddArgument("window-size=1024x768");

			var (service, driver) = CreateDriver(options);
			using var _ = service;
			using var __ = driver;

			driver.Url = Url;

			var index = 0;
			var currentTimeout = Timeout;

			do
			{
				var pre = driver.FindElements(By.TagName("PRE")).Skip(index).ToArray();
				if (pre.Length > 0)
				{
					index += pre.Length;
					currentTimeout = Timeout; // reset the timeout

					foreach (var e in pre)
						Console.WriteLine(e.Text);
				}

				var resultsElement = driver.FindElements(By.Id("results"));
				if (resultsElement.Count == 0)
				{
					if (driver.FindElements(By.ClassName("neterror")).Count > 0)
					{
						var errorCode = driver.FindElements(By.ClassName("error-code")).FirstOrDefault()?.Text;
						throw new Exception($"There was an error loading the page: {errorCode}");
					}

					Thread.Sleep(500);
					continue;
				}

				var text = resultsElement[0].Text;
				var bytes = Convert.FromBase64String(text);
				File.WriteAllBytes(OutputPath, bytes);
				break;
			} while (--currentTimeout > 0);

			if (currentTimeout <= 0)
				throw new TimeoutException();
		}