selenium 运行测试时如何显示 Snackbar?

Posted

技术标签:

【中文标题】selenium 运行测试时如何显示 Snackbar?【英文标题】:How to display Snackbar while selenium is running test? 【发布时间】:2019-08-18 20:19:03 【问题描述】:

我想在 selenium 测试运行时显示快餐栏。 但据我所知,我需要一个 html 页面,这样我就可以为小吃店执行 javascript 代码,并在一个无法修改其代码的网站上运行测试。

我设法显示其他类型的消息,但这不是我需要的。

如果有任何其他方式在测试运行时在屏幕上显示消息并且消息不会中断测试 - 不需要关闭窗口并且消息会在几秒钟后消失,我会很高兴听到。

Snackbar example

提前致谢

【问题讨论】:

你想在自动化时显示对话框 不是对话框,在自动化时显示对话框不是最佳实践,根本不推荐。只是一个不中断测试的弹出消息。 Snackbar 就是一个很好的例子。 【参考方案1】:

简单的答案是,不

Selenium 无法显示任何内容。这是一种连接到其他系统的方法,因此您必须依靠这些系统来显示您的“小吃店”。

在网络浏览器中显示内容的唯一方法是插入您自己的代码来创建小吃店。但这会使测试无效,因为您没有测试站点;您正在测试网站以及它如何与您的代码交互。

您可以尝试点按您使用的语言来编写测试脚本以显示某些内容。例如,在使用 Java 时,使用System.out.println() 在控制台中显示信息是很常见的。您可以创建一个在 Selenium 旁边运行的整个应用程序,该应用程序会显示一个特定于操作系统的消息框。但即便如此,影响自动化的可能性很大。

所以有个大问题是,你为什么认为你需要展示一些东西?

通常,自动化的重点是在无人看管的情况下运行一系列步骤。没有人会在整个过程中观看过程。那么这家小吃店的目标观众是谁?

唯一的解释是出于调试原因。在这种情况下,添加这个额外的代码是你能做的最糟糕的事情。您已经遇到了问题,并且正试图通过添加可能会扭曲结果的额外代码来解决问题。如果您正在尝试调试,请添加外部日志记录,例如前面提到的 System.out.println() 或与您的代码等效的代码,然后从那里开始。不会影响屏幕或浏览器的东西。

【讨论】:

以上是关于selenium 运行测试时如何显示 Snackbar?的主要内容,如果未能解决你的问题,请参考以下文章

如何录制在 docker 内无头运行的 selenium 测试?

如何使用Selenium-Grid

如何使用Selenium-Grid

在 Windows 上使用 Jenkins 运行 Selenium 测试期间,如何在未实际登录机器时捕获屏幕截图?

如何让 Jenkins 在部署时自动运行 Selenium WebDriver/TestNG/Java 测试,Maven 与这一切有啥关系?

在远程 teamcity 构建代理上运行 selenium 自动化测试