C# 是否有可能捕获并记录我在Google Chrome中运行测试时可能出现的所有JS错误

C# 是否有可能捕获并记录我在Google Chrome中运行测试时可能出现的所有JS错误,c#,javascript,selenium,C#,Javascript,Selenium,我在C工作 有没有一种方法可以捕获并记录我在Google Chrome中运行测试时可能出现的所有JS错误 例如用于Firefox的JSErrorCollector-我可能在这里有点不对劲,因为我从未使用过Selenium,因此可能无法完全理解上下文:但您可以使用它捕获浏览器中发生的任何错误,然后对它们做些处理,并将它们发送到数据库或日志文件中 注意,这不仅限于JavaScript错误,还可能包括一些HTTP错误。我可能在这里有点不对劲,因为我从未使用过Selenium,因此可能无法完全理解上下文

我在C工作

有没有一种方法可以捕获并记录我在Google Chrome中运行测试时可能出现的所有JS错误


例如用于Firefox的JSErrorCollector-

我可能在这里有点不对劲,因为我从未使用过Selenium,因此可能无法完全理解上下文:但您可以使用它捕获浏览器中发生的任何错误,然后对它们做些处理,并将它们发送到数据库或日志文件中


注意,这不仅限于JavaScript错误,还可能包括一些HTTP错误。

我可能在这里有点不对劲,因为我从未使用过Selenium,因此可能无法完全理解上下文:但您可以使用捕获浏览器中发生的任何错误,然后对其进行处理,并将其发送到数据库或日志文件,也许吧


注意,这不仅限于JavaScript错误,还可能包括一些HTTP错误。

使用chrome developer toolsctrl+shift+i并查看控制台选项卡中的错误


Chrome还允许您在代码的某些行上设置断点,并查看变量的所有值。

使用Chrome developer toolsctrl+shift+i并查看控制台选项卡中的错误


Chrome还允许您在代码的某些行上设置断点,并查看变量的所有值。

现在我们为Chrome提供了相同的插件。就在这里-


它与JSErrorCollector非常相似。

现在我们有了相同的Chrome插件。就在这里-


它与JSErrorCollector非常相似。

正如Simeon Sinichkin所提到的,ChromeJSErrorCollector在这里非常有用。对于C语言中的其他人,下面是一些示例代码,用于捕获JS错误并将其记录到控制台的文件/日志中:

var options = new ChromeOptions();
options.AddExtension("ChromeJSErrorCollector.crx");
var driver = new ChromeDriver(options);

// run tests...

var javascriptDriver = driver as IJavaScriptExecutor;
var errors = javascriptDriver.ExecuteScript("return window.JSErrorCollector_errors ? window.JSErrorCollector_errors.pump() : []");
var writer = new StreamWriter("jsErrors.log");
var collection = errors as ReadOnlyCollection<object>;
foreach (var item in collection)
{
    var errorObject = item as Dictionary<string, object>;
    foreach (var field in errorObject)
    {
        Console.WriteLine(field.Key + " - " + field.Value);
        writer.WriteLine(field.Key + " - " + field.Value);
    }

    Console.WriteLine("-------------------");
    writer.WriteLine("-------------------");
}
writer.Flush();
writer.Close();

正如Simeon Sinichkin所提到的,ChromeJSErrorCollector在这里非常有用。对于C语言中的其他人,下面是一些示例代码,用于捕获JS错误并将其记录到控制台的文件/日志中:

var options = new ChromeOptions();
options.AddExtension("ChromeJSErrorCollector.crx");
var driver = new ChromeDriver(options);

// run tests...

var javascriptDriver = driver as IJavaScriptExecutor;
var errors = javascriptDriver.ExecuteScript("return window.JSErrorCollector_errors ? window.JSErrorCollector_errors.pump() : []");
var writer = new StreamWriter("jsErrors.log");
var collection = errors as ReadOnlyCollection<object>;
foreach (var item in collection)
{
    var errorObject = item as Dictionary<string, object>;
    foreach (var field in errorObject)
    {
        Console.WriteLine(field.Key + " - " + field.Value);
        writer.WriteLine(field.Key + " - " + field.Value);
    }

    Console.WriteLine("-------------------");
    writer.WriteLine("-------------------");
}
writer.Flush();
writer.Close();

举个例子怎么用?举个例子怎么用?