6. Selenium IDE 调试

设置超时,断点,起点

并非网络上的所有事情都如我们所愿发生(如果这样,生活会好得多)。 有时,网页上的特定 Web 元素显示的速度比预期的慢,即以较慢的速度可访问。 这可能会导致在回放我们的自动化测试用例并完全停止执行时出错。 这不是我们所希望的!相反,我们希望 Selenium IDE 等待更长的时间,即在这种情况下可以访问我们的 Web 元素。为方便起见,选项菜单的“常规”标签中提供了默认超时值 选项,可以更改。

Setting Timeout

上图突出显示的该值表示 Selenium IDE 在生成错误之前希望等待测试步骤执行的时间(以毫秒为单位)。 变得硬核,该请求已发送到服务器,但由于默认值设置为 30000ms(即 30s),因此在 30 秒内没有任何响应。 该值可以适当地增加或减少以适合我们的需求。 这样就克服了超时错误! 欢呼!!!

BrainBell – 练习!是的,这一点很重要。 不要只盯着屏幕。 输入并执行一些测试方案。 如果我为您做一切,那么您的大脑健康就不会长久。 因此,准备好前进,走在那些坎坷的道路上吧! 下一步断点如何工作? 询问者可能希望知道…… 从而导致测试用例失败。

“动作”菜单中显示的切换断点 使我们能够通过简化复杂对象来实现目标。切换,这意味着如果该断点已经存在,请单击“切换断点”将其删除,反之亦然(就像Caps Lock键如何在两种模式之间切换一样)。 因此,将根据断点的现有状态将断点插入或从所选命令中删除。因此,我们可以在单个测试用例中使用多个断点 在所需的步骤处暂停执行。 这可以通过以下方式实现:

  • 右键单击特定命令,然后选择“切换断点”选项。
  • Toggle Breakpoint
  • 选择所需的命令,然后按“b”或“B”(快捷键 )。
  • 选择所需的命令; 点击“选项”菜单,然后选择“切换断点”。
  • Break Point and Start Point

一旦执行到达带有断点的命令并暂停以进行移动,我们将再次有 2 个选项,

  1. 通过单击工具栏中的暂停/恢复 按钮来恢复执行,如上图所示,或者,
  2. 一次单步执行/执行后续命令,单击“单步”按钮以查看每个命令的确切功能,并找出导致错误的命令。

我同意单步 是一个非常棒的功能,在我们必须进行认真的调试时非常方便! 因此,我将即将发表的帖子完全用于同一主题。

下一步设置/清除起始点 ,这是一个指示器,用于告知 Selenium IDE 必须开始执行的命令。

我们可能希望在一个真正的大型测试案例中重复执行一小组测试步骤。 运行整个测试用例会浪费很多资源。 在这种情况下,我们可以通过两种方式设置起点,

  1. 右键单击必须设置起点的命令,然后选择“设置/清除起点”。
  2. 选择特定的命令,然后按“s”或“S”(快捷键 )。

Start Point

在上面显示的示例中,播放将从第三行开始执行。 请务必注意,Firefox 浏览器当前显示的页面上存在依赖项 。 如果您在错误的页面上无法执行所选命令,则测试用例将在起点失败。 同样,每个测试用例只能有一个起点 。为了清除正在设置的起点,请选择带有起点的命令,然后使用快捷键“S”或右键单击并选择“设置/清除起点”选项。

调试

首先,什么是调试? 它正在识别并修复测试用例中可能存在的任何错误。 就如此容易! 而且最重要的是调试和测试我们的代码,以确保其以预期的方式工作。让我们把脚弄湿! 提出了不同的方式来帮助我们调试错误的测试脚本,并在我们提供的产品上保持一流!

断点和起点 (有关详细说明,请参阅我以前的博客“7i。Selenium IDE – 设置超时,断点,起点”)

  • 断点 使我们能够运行测试用例中的特定命令,并在该点停止检查行为。
  • 确保在要检查的命令之前在命令上设置一个断点。
  • 我们可以在一个测试用例中设置多个断点。
  • 起点 在我们必须从中间到最后运行测试用例时很有用。
  • 例如,假设第一步是登录,然后在网站上执行一系列测试,而您尝试调试其中一个。 为此,您只需登录一次,在测试用例的登录部分之后设置一个起点,然后根据需要重新运行多次。
  • 每个测试用例只能有一个起点。

逐步通过测试用例

  • 是! 单步 按钮用于通过一次执行一个命令来逐步遍历我们的测试用例。 仔细查看日志窗格,您会发现为每个执行的命令附加了一行日志。
  • 而且,您可能需要在运行测试用例之前清除日志窗格,因为 Selenium IDE 不会自动执行此操作。 它只是将新生成的日志附加到现有日志中。
  • 是时候看一个示例来更好地理解“步进”功能了,下面显示的场景非常简单,在 www.amazon.com 中创建了一个帐户。 在客户必须输入用户名的地方设置了一个断点。 因此,将执行所有带有断点的命令。

点击“单步”之前

  • 单击工具栏中的“播放当前测试用例”按钮后,将执行断点之前的所有命令。 它停在“typewait | id = ap_customer_name | user1”这一行。
  • Before clicking Step

点击“单步”后

  • 运行“typewait | id = ap_customer_name | user1”行,测试用例失败。 仔细查看日志部分会显示错误以及说明。
  • Error
  • 该错误是由于未知命令“typewait”引起的。 通过选择命令并在“命令/目标和值”部分的命令下拉菜单中将“类型等待”编辑为“类型”,即可解决该错误。
  • 让我们按照讨论进行更改后重新运行测试用例。 由于存在断点,执行将再次在“type | id = ap_customer_name | user1”行处暂停。 点击工具栏中的“步骤”按钮。
  • debugging success
  • 执行一个命令,即“type | id = ap_customer_name | user1”,并在网页的“您的姓名”文本框中输入该命令的值列中显示的客户名称。 现在,执行将在下一个命令“type | id = ap_email |”。
  • 请务必注意,尽管此处没有断点,但执行仍然暂停。 这就是逐步执行的意思,一次执行一个步骤 – 功能的目的。 它使我们有更多时间检查每个命令的结果,从而帮助我们对其进行修复。 重复选择“步骤”按钮,直到到达测试用例的末尾,以了解整个测试是否通过。

外带 :单击“单步”按钮一次将执行一个命令,而在下一个命令上暂停。

查找按钮

  • 这看似不是杀手级功能,但确实很棒。 “查找”按钮对于验证我们是否正在使用/在当前测试用例中为所选命令在浏览器中显示的当前网页上选择了正确的 UI 元素非常有用。
  • Find Button
  • 选择要识别其 UI 元素的任何命令,然后单击“查找”按钮,如上图所示。 在选定的命令(本例中为“id”)中由locator参数指定的对应元素在 Firefox 浏览器显示的网页上以黄色 的瞬间显示为高亮显示 。 包含在绿色边框 中。
  • 因此,Selenium IDE 能够按预期识别和访问元素。 如果它在网页上突出显示了错误的元素或根本没有检测到元素,那么我们可以确保选择的定位符类型 (在即将发布的博客中有更多相关内容)或脚本本身。

页面源

  • 在确定问题时,此选项通常很方便。 页面源仅是被测试网页的 HTML。 在 Firefox 浏览器中,实现这一目标确实是小菜一碟。 有几种方法
    • 右键单击网页上的任意位置,然后选择“查看页面源 ”。 这将打开一个显示整个 HTML 的新标签。 使用搜索功能“Ctrl + F”搜索关键字并找到我们要测试的 UI 元素的 HTML 部分。
    • 另一种简单的方法是选择我们希望看到其源代码的网页部分。 现在,右键单击并选择“查看选择源 ”。 这还将打开一个新选项卡,但仅显示 HTML 的一小部分,突出显示代表网页中所做选择的代码。
  • View Selection Source

了解这些漂亮的调试功能后,您会不会感到更有力量? 那你还在等什么呢? 您的脚已经湿了,潜水!