Testing 运行selenium IDE脚本时用户手动输入

Testing 运行selenium IDE脚本时用户手动输入,testing,selenium,automation,user-input,selenium-ide,Testing,Selenium,Automation,User Input,Selenium Ide,用户能否在运行selenium IDE脚本时提供手动输入? 例如,若有名称字段,那个么我们是否可以在每次脚本运行时打开输入框,以便用户可以为名称字段提供输入 让我知道这是否可能 如果是,请给我一个解决方案 提前感谢您可以使用建议的技术,该技术使用Selenium WebDriver和Java的BufferedReader。我认为它不能适用于Selenium IDE,但该技术应该可以与Selenium RC配合使用 基本思想是: 发出Selenium命令,直到您想要捕获用户输入为止 调用以下代码

用户能否在运行selenium IDE脚本时提供手动输入? 例如,若有名称字段,那个么我们是否可以在每次脚本运行时打开输入框,以便用户可以为名称字段提供输入

让我知道这是否可能

如果是,请给我一个解决方案


提前感谢

您可以使用建议的技术,该技术使用Selenium WebDriver和Java的
BufferedReader
。我认为它不能适用于Selenium IDE,但该技术应该可以与Selenium RC配合使用

基本思想是:

  • 发出Selenium命令,直到您想要捕获用户输入为止
  • 调用以下代码以捕获用户对BufferedReader的输入

    BufferedReader reader=新的BufferedReader(新的InputStreamReader(System.in))
    
    reader.readLine()

  • 继续您的Selenium命令

(注意,如果您使用的是C#,则会讨论如何使用
Console.In.ReadLine()
而不是
BufferedReader
)。

因为您特别询问了Selenium IDE,答案是否定的。但是可以暂停脚本,让用户键入他们的名字,然后让脚本继续。我听说有人使用这种技术来处理CAPTCHA,这当然不容易实现自动化。

您可以使用以下脚本调用javascript提示符来获取值

<tr>
    <td>storeEval</td>
    <td>prompt(&quot;Please enter your FirstName&quot;)</td>
    <td>firstName</td>
</tr>

只是对Stephen Binns的回答稍加修改。我正在运行Selenium IDE 2.5.0,我的测试如下所示:

<tr>
    <td>storeEval</td>
    <td>javascript{prompt(&quot;Please enter your FirstName&quot;)}</td>
    <td>firstName</td>
</tr>
<tr>
    <td>store</td>
    <td>javascript{prompt(&quot;password&quot;)}</td>
    <td>password</td>
</tr>

商店
javascript{prompt(“password”)}
密码

如果没有javascript{},它将不会提示。

建议的解决方案在selenium IDE上运行良好(测试为2.5)


商店
javascript{prompt(“password”)}
密码
在Selenium IDE 2.8.0中: 捕获输入登录名和密码的测试会话。编辑每个的命令,从“type”更改为“waitForText”,并删除以前为登录和密码存储的值字段中的值。从IDE重新运行保存的测试脚本。

使用Thread.Sleep(20000);
这会将所有内容冻结20秒,您可以在该时间段内手动输入任何字段

所有已接受的答案都不适用于我。我是这样解决的:

创建新命令(在顶部存储我想要在30个位置使用的变量。)

  • 命令:执行脚本
  • 目标:返回“测试迭代#13”
  • 值:VarName
然后在我想要使用这个变量的30个地方。我把这个

  • 值:在web输入框中输入一些文本,我的测试迭代编号为${VarName}

从2020年开始,使用Selenium IDE 3.16.1
,我发现上面建议的答案可以使用以下配置。(我重新回答了这个问题,因为上面的回答没有清楚地将所有的部分结合起来)

并按存储的var填写输入框:

Command : type

Target : (your selector)

Value : ${yourVariableName}

因为我喜欢公认的解决方案,所以这个方案最好是完全混淆密码。我没有安装2.5.0版,但根据其他评论,它不应该是
store
而不是
storeEval
?这将更有意义。此外,在3.1.0(请参阅)中,您需要使用
executeScript
,而第二个参数只包含JS和
return
语句(否则任何内容都不会存储在目标变量中)。现在就创建一个新答案,还是仅仅扩展这个答案仍然可以接受?
Command : execute script

Target : return prompt("Question Text","Default value");

Value : yourVariableName
Command : type

Target : (your selector)

Value : ${yourVariableName}