用户能否在运行selenium IDE脚本时提供手动输入? 对于前者如果有name字段,那么我们可以在每次运行脚本时打开输入框,以便用户可以为name字段提供输入吗?
让我知道是否可能..
如果是,请建议我解决。
提前致谢
答案 0 :(得分:16)
您可以使用以下脚本调用javascript提示以获取值
<tr>
<td>storeEval</td>
<td>javascript{prompt("Please enter your FirstName")}</td>
<td>firstName</td>
</tr>
然后访问该值是使用${firstName}
答案 1 :(得分:3)
从2020年开始,我使用Selenium IDE 3.16.1
发现了以下建议答案所对应的以下配置。 (我重新回答了该问题,因为上述答案并未清楚地将所有内容组合在一起)
Command : execute script
Target : return prompt("Question Text","Default value");
Value : yourVariableName
,然后在存储的var中填写输入框:
Command : type
Target : (your selector)
Value : ${yourVariableName}
答案 2 :(得分:1)
由于您特别询问了Selenium IDE,答案是否定的。但是你可以暂停脚本并让用户输入他们的名字,然后让脚本继续。我听说有人使用这种技术来处理CAPTCHA,这当然不容易自动化。
答案 3 :(得分:1)
在Selenium IDE 2.8.0中: 捕获输入登录名和密码的测试会话。编辑每个命令并从“type”更改为“waitForText”,并删除先前为登录名和密码存储的值字段中的值。从IDE重新运行保存的测试脚本。
答案 4 :(得分:0)
您可以使用建议使用Selenium WebDriver和Java BufferedReader
的{{3}}技术。我不认为它可以适用于Selenium IDE,但该技术应该可以与Selenium RC一起使用。
基本理念是:
调用以下代码以捕获BufferedReader的用户输入。
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
reader.readLine();
(请注意,如果您使用的是C#,则有关如何使用Console.In.ReadLine();
而不是BufferedReader
的讨论here。
答案 5 :(得分:0)
只是斯蒂芬宾斯回应的一个小修改。我正在运行Selenium IDE 2.5.0,我的测试看起来像这样:
<tr>
<td>store</td>
<td>javascript{prompt("password")}</td>
<td>password</td>
</tr>
没有javascript {}就不会提示。
答案 6 :(得分:0)
建议的解决方案适用于selenium IDE(测试2.5)
<tr>
<td>store</td>
<td>javascript{prompt("password")}</td>
<td>password</td>
</tr>
答案 7 :(得分:0)
使用Thread.Sleep(20000); 这将冻结所有内容20秒,您可以在该时间段内输入您想要手动输入的任何字段
答案 8 :(得分:0)
没有一个答案对我有用。这是我的解决方法:
创建新命令(在顶部存储要在30个地方使用的变量)。
然后在30个地方我想使用该变量。我把这个