当前位置: 首页 > 知识库问答 >
问题:

如何捕捉Selenium错误消息

邢曦
2023-03-14

我想检查在页面之间导航时是否收到错误消息。当错误消息出现时,测试将被终止并进行报告。为此,我使用了以下与站点上的错误消息相关的元素。

try {
                WebElement element=driver.findElement(By.className("p-toast-message-text"));
                element.isDisplayed();
                boolean s= element.isDisplayed();
                System.out.println(s);
            }
            catch (NoSuchElementException e) {
                throw new RuntimeException("-----");
            }

共有1个答案

梁丘波
2023-03-14

嗯,我会要求使用HTML来查看您给出的路径对于您的情况是否唯一,如果您希望代码在显示错误后停止,我可以建议使用Assert;如果您希望代码继续运行,即使在结尾有assertall()错误,也可以使用软Assert。我控制这个的方式:

Boolean NoCanceledAppointement = driver.findElements(By.xpath("//div[@class=\"empty-result\"]/h2[normalize-space(text())=\"Vous n’avez pas de Rendez-vous annulés !\"]")).size() > 0;
                if(NoCanceledAppointement == true) {
                    Reporter.log(FormatMessageSucces + " No Canceled Appointement Exist</font>");
                }
                else {
                    Sa.assertEquals(false, true, "The Page didn't show the message of 'You have no canceled appointments!'");
                    ScreenShot(driver);
                    Reporter.log(FormatMessageError + " The Page didn't show the message of 'You have no canceled appointments!'</font>");
                }

如果我的代码没有找到元素,那么它将访问软断言截图只是在错误出现时拍摄页面的照片。

 类似资料:
  • 问题内容: 我听说捕捞被认为是不好的作法。我当前正在加载一个不能保证在PATH上的.dll,并希望在不存在的情况下切换到用户配置的位置。 有更好的方法吗?还是在这里接受是可以接受的? 问题答案: 除了提供有关如何从技术上解决问题的建议以外,我想花点时间解释一下为什么它首先被认为是“不好的做法”。 让我们从澄清什么是类开始。 在Java中,将引发错误和异常(它们是主要类型)。通过使用关键字可以完成上

  • 我定义了一个自定义错误处理程序,它捕获所有异常并将其保存到日志中。现在,如果我在mysqli查询中出现语法错误,例如打字错误,页面将完全停止加载。没有引发异常,因此不会触发错误处理程序,也不会记录任何内容。 这正常吗?我是否应该检查PHP设置来修复此问题,以便任何mysqli查询错误都会引发异常? (如果查询返回0个结果,我不希望引发异常-仅当它由于键入错误或查询结构中的其他错误而出错时) 查询示

  • 我正在开发一个django应用程序,它可以与几个Amazon Web服务进行通信。 到目前为止,我在处理和捕获boto3客户端抛出的异常方面遇到了困难。我正在做的事情似乎不必要地单调乏味: 例子: 如果令牌坏了,这可能会抛出一个。 可能会抛出一个。 首先,我在代码中的任何地方都找不到这些错误,所以它们可能是在某个地方生成的。一句话:我不能像往常一样导入和捕获它。 其次,我发现了一种方法来捕获错误这

  • 我正在与: Spock Core 斯波克报告 斯波克Spring Spring MVC测试 我有以下代码: 我知道Spock提供了through()方法,因此我能够执行以下操作: 遗憾的是,抛出对AssertionError不起作用。 如果我使用测试方法不通过,唯一的方法是通过,但我无法从AssertionError获得错误消息

  • 我的数据服务如下所示: 如果我得到一个HTTP错误(即404),我会从core得到一条令人讨厌的控制台消息:error error:Uncaught(promise):[object]。es5。在我的情况下,我该如何处理?

  • 我正在建立一个使用Kafka消息的应用程序。 为了捕获反序列化异常,我学习了Spring-docs关于反序列化错误处理的知识。我已经尝试了failedDeserializationFunction方法。 这是我的使用者配置类 这是双功能提供程序 当我只发送一条关于主题的损坏消息时,我得到了这个错误(在循环中): 经常这样。