每当用户单击 Selenium IDE 中的播放按钮时,我想触发 Ajax 调用。jQuery $.ajax 函数会更好。有没有办法做到这一点?
在网上搜索了 20 分钟后,我还没有找到任何人试图这样做。
每当用户单击 Selenium IDE 中的播放按钮时,我想触发 Ajax 调用。jQuery $.ajax 函数会更好。有没有办法做到这一点?
在网上搜索了 20 分钟后,我还没有找到任何人试图这样做。
您可以使用评估 JavaScript 代码的 Selenium 命令之一。例如,该waitForCondition
命令执行 JavaScript 片段,直到最后一个表达式的计算结果为真。请注意,如果您的测试页面已经有 jQuery,您可以跳过前两部分。
(function(window) {
var script = window.document.createElement("script");
script.src = "http://code.jquery.com/jquery-1.9.1.min.js";
script.type = "text/javascript";
window.document.getElementsByTagName("head")[0].appendChild(script);
})(selenium.browserbot.getUserWindow());
1 == 1; // put something that evaluates to "true" here to make sure that our code runs only once
<!--Inject jQuery-->
<tr>
<td>waitForCondition</td>
<td>(function(window) { var script = window.document.createElement("script"); script.src = "http://code.jquery.com/jquery-1.9.1.min.js"; script.type = "text/javascript"; window.document.getElementsByTagName("head")[0].appendChild(script); })(selenium.browserbot.getUserWindow()); 1==1;</td>
<td>1000</td>
</tr>
typeof selenium.browserbot.getUserWindow().jQuery == 'function'
<!--Validate jQuery-->
<tr>
<td>waitForCondition</td>
<td>typeof selenium.browserbot.getUserWindow().jQuery == 'function'</td>
<td>60000</td>
</tr>
(function(window) {
window.jQuery.ajax('http://www.google.co.uk/search?q=jquery');
})(selenium.browserbot.getUserWindow());
1 == 1;
<!--Make an AJAX call-->
<tr>
<td>waitForCondition</td>
<td>(function(window) {window.jQuery.ajax('http://www.google.co.uk/search?q=jquery'); })(selenium.browserbot.getUserWindow()); 1 == 1;</td>
<td>1000</td>
</tr>