Testing 运行selenium IDE脚本时用户手动输入
用户能否在运行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 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("Please enter your FirstName")</td>
<td>firstName</td>
</tr>
只是对Stephen Binns的回答稍加修改。我正在运行Selenium IDE 2.5.0,我的测试如下所示:
<tr>
<td>storeEval</td>
<td>javascript{prompt("Please enter your FirstName")}</td>
<td>firstName</td>
</tr>
<tr>
<td>store</td>
<td>javascript{prompt("password")}</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
- 值:在web输入框中输入一些文本,我的测试迭代编号为${VarName}
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}