C# selenium测试失败时捕获错误消息

C# selenium测试失败时捕获错误消息,c#,selenium,logging,selenium-webdriver,error-handling,C#,Selenium,Logging,Selenium Webdriver,Error Handling,当断言失败,或者webdriver找不到元素,或者类似的原因时,有没有一种方法可以获取Selelium错误消息?我发现管理它的唯一解决方案是在我所有的测试方法中使用try/catch,但我希望有更好的方法 我试图在测试成功通过或失败时保存日志消息,因此如果失败,我希望获取错误消息以将其保存在日志中。此外,我还将C#与Microsoft UnitTestFramework和Selenium WebDriver一起使用 谢谢 这可能不是最好的解决方案。。。但是 您可以在selenium周围使用框架包

当断言失败,或者webdriver找不到元素,或者类似的原因时,有没有一种方法可以获取Selelium错误消息?我发现管理它的唯一解决方案是在我所有的测试方法中使用try/catch,但我希望有更好的方法

我试图在测试成功通过或失败时保存日志消息,因此如果失败,我希望获取错误消息以将其保存在日志中。此外,我还将C#与Microsoft UnitTestFramework和Selenium WebDriver一起使用


谢谢

这可能不是最好的解决方案。。。但是

  • 您可以在selenium周围使用框架包装器,在所有需要的地方都会有try/catch

  • 您可以通过一次try/catch进行包装,检查selenium库抛出的确切错误,并记录它。 我的意思是你不需要抓住(例外),你需要抓住


  • 可能这不是最好的解决方案。。。但是

  • 您可以在selenium周围使用框架包装器,在所有需要的地方都会有try/catch

  • 您可以通过一次try/catch进行包装,检查selenium库抛出的确切错误,并记录它。 我的意思是你不需要抓住(例外),你需要抓住


  • 如果要记录Selenium异常,需要捕获它们。我建议你在你的测试电话周围放一个try/catch,如下所示

    try
    {
        Test1();
    }
    

    在catch中,您将捕获要记录的任何异常,然后将异常消息写入日志。如果需要的话,您可以通过谷歌C#try/catch获得一些关于如何最好地完成这项工作的建议。

    如果您想记录Selenium异常,您需要捕获它们。我建议你在你的测试电话周围放一个try/catch,如下所示

    try
    {
        Test1();
    }
    

    在catch中,您将捕获要记录的任何异常,然后将异常消息写入日志。如果需要的话,你可以通过谷歌C#try/catch获得一些关于如何最好地实现这一点的建议。

    你如何在selenium周围放置一个“框架包装器”?@JeffC我指的是你自己的包装selenium对象的方法组。例如,我构建了自己的框架包装器,现在对元素的搜索有另一种语法:browser.Page.Elem(By.Xpath(“.//someXPath”),waitfor.Visible(1500)).AsInput().Text=“此输入中必须包含的某些文本”;--在这个例子中,我有很多隐藏在后面的代码,其中还包括try/catches。您能否详细说明如何为TestSuite实现这一点?如何在selenium周围放置一个“框架包装器”?@JeffC我指的是您自己的包装selenium对象的方法组。例如,我构建了自己的框架包装器,现在对元素的搜索有另一种语法:browser.Page.Elem(By.Xpath(“.//someXPath”),waitfor.Visible(1500)).AsInput().Text=“此输入中必须包含的某些文本”;--在这个例子中,我有很多隐藏在后面的代码,其中还包括try/catches,您能详细介绍一下如何为TestSuite实现这一点吗?