Capturing JavaScript error in Selenium

前端 未结 12 727
盖世英雄少女心
盖世英雄少女心 2020-12-02 08:15

Is there a way to capture errors occurring in the DOM in Selenium and probably flag the same as an error in the page?

To give a brief exam

12条回答
  •  半阙折子戏
    2020-12-02 08:38

    I'm doing this to capture JavaScript errors:

    [TestCleanup]
    public void TestCleanup()
    {
        var errorStrings = new List 
        { 
            "SyntaxError", 
            "EvalError", 
            "ReferenceError", 
            "RangeError", 
            "TypeError", 
            "URIError" 
        };
    
        var jsErrors = Driver.Manage().Logs.GetLog(LogType.Browser).Where(x => errorStrings.Any(e => x.Message.Contains(e)));
    
        if (jsErrors.Any())
        {
            Assert.Fail("JavaScript error(s):" + Environment.NewLine + jsErrors.Aggregate("", (s, entry) => s + entry.Message + Environment.NewLine));
        }
    }
    

提交回复
热议问题