如何在Selenium IDE中循环测试?

Gio*_*ano 38 testing selenium-ide

我一直在Selenium IDE中测试.它非常易于使用,我用它创建了一些测试用例.我一直在搜索Google,试图找到一种自动重复测试的方法.我已经看到了一个带有gotolabel的解决方案,而循环等等.但是我无法使它们中的任何一个工作.有人可以给我一个如何循环我的测试n时间,或永远循环的提示.我感谢任何帮助.

小智 46

做这个:

  1. 下载此js文件:https://github.com/darrenderidder/sideflow/blob/master/sideflow.js
  2. 从Firefox启动Selenium IDE并打开选项菜单.
  3. 将.js文件上载到"Selenium Core extensions(user-extensions.js)"字段.

js文件在Selenium IDE中提供goto,gotoIf和while循环功能.下面的示例显示了一个简单的循环:

<tr>
    <td>getEval</td>
    <td>index = 0;</td>
    <td></td>
</tr>
<tr>
    <td>while</td>
    <td>index &lt; 10;</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>index</td>
    <td>value</td>
</tr>
<tr>
    <td>echo</td>
    <td>${value}</td>
    <td></td>
</tr>
<tr>
    <td>getEval</td>
    <td>index++;</td>
    <td></td>
</tr>
<tr>
    <td>endWhile</td>
    <td></td>
    <td></td>
</tr>
Run Code Online (Sandbox Code Playgroud)


bar*_*y07 17

如上面的答案中所述,安装用户扩展,这将为Selenium IDE测试添加循环功能.下面的示例显示了一个简单的循环:

<tr>
<td>getEval</td>
<td>index = 0;</td>
<td></td>
</tr>
<tr>
<td>while</td>
<td>index &lt; 10;</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>index</td>
<td>value</td>
</tr>
<tr>
<td>echo</td>
<td>${value}</td>
<td></td>
</tr>
<tr>
<td>getEval</td>
<td>index++;</td>
<td></td>
</tr>
<tr>
<td>endWhile</td>
<td></td>
<td></td>
</tr>
Run Code Online (Sandbox Code Playgroud)


小智 5

我是 Selenium 的新手(几分钟前才开始使用它)。在谷歌快速搜索“seleniumloop”后,出现了这个 stackoverflow.com 问题。我立即跳入扩展并开始使用循环。接受的答案非常有帮助。然而,我想为其他不熟悉硒的人指出一些其他的东西(并且偶然发现了这个页面)。

我为一个简单的网页创建了一个简单的测试。我添加了一个循环,以便测试可以无限期地运行(直到我暂停/停止它)。然而,我注意到,通过这样做,Selenium GUI 中的运行/失败计数器不会随着每个循环而增加(我猜测是因为单个测试用例从未运行完成,它只是无限循环)。所以我进一步挖掘。我的目标是让同一个测试长时间运行(几个小时,或者可能一整夜),看看是否有任何失败(我目前正在寻找间歇性错误)。

最简单的方法(对我来说,经过几分钟的搜索/实验)是执行以下操作(可能不需要插件,尽管如果您想在测试用例中运行一些小循环,附加的插件绝对有用):

  • 将测试用例保存到文本文件
  • 将测试套件保存到文本文件
  • 在文本编辑器中打开测试套件文本文件
  • 在测试套件中多次复制并粘贴测试用例(例如一千次)
  • 然后在Selenium中打开测试套件,并运行测试套件

现在,我多次运行相同的简单测试套件,并且运行/失败计数器按预期递增(不需要任何循环)。


Ste*_*HHH 5

使用Firefox 的流量控制插件。重新启动 Firefox 后,使用该label命令在脚本中标记一个点,然后使用该gotolabel命令跳转到该处。

例如:

在此输入图像描述

或者,如果您想查看源代码,这是一个标签:

<tr>
    <td>label</td>
    <td>start</td>  
    <td></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

这会导致执行点跳回标签:

<tr>
    <td>gotolabel</td>
    <td>start</td>
    <td></td>
</tr>
Run Code Online (Sandbox Code Playgroud)

您可以在插件页面上看到其他命令,这些命令记录在 Selenium IDE:流程控制 GitHub 项目中。


Nic*_*oul 5

无需安装/下载任何东西,内置的times命令可以很容易地做到这一点:

  1. 插入你的脚本的开始一个新行,选择times作为其Command10(例如)作为它的Target
  2. 向下滚动到脚本的底部,并添加一个新行,end并将其作为命令
  3. 像往常一样按下“运行”按钮。
  4. 您的命令被执行10次。

在此示例中,我单击按钮2000次:

在此处输入图片说明

要永久循环,只需替换10为一个非常大的数字,这将花费几个世纪的时间来执行,如果您正在运行Selenium IDE,这可能永远都一样好。

  • 谢谢您的回答!效果很好。 (2认同)