使用selenium IDE从javascript代码中查找字符串

时间:2015-11-19 09:27:16

标签: selenium selenium-ide

我正在测试网页,我需要在javascript代码中声明代码片段,例如

<script type="text/javascript" src="//img.xxxx.com/u/14/p42449.js"></script>
<script type="text/javascript">
window.ptag_params = {
zone: "homepage",
customerId: "Your customer ID",
siteType: "Site Type",
};
</script>

我试过用

<tr>
<td>verifyHtmlSource</td>
<td>*42449*</td>
<td></td>
</tr>

但我没有看到任何回复,仅在日志中

[info] Executing: |verifyHtmlSource | *42449* | | 

我做错了什么???

2 个答案:

答案 0 :(得分:1)

你曾经使用的硒命令对你正在尝试做的事情来说并不是最好的。所有这一切都是检查页面的整个html中的某个地方,出现了数字42449,并不能保证它会在您想要查看的脚本片段中找到它。关于日志,您赢了& #39;使用verify命令看到的输出比你在日志中的输出多,因为它只是通过或失败,具体取决于它是否找到该数字。

如果您需要确认此元素存在并希望在日志中看到包含它的一些输出,那么您最好的选择是验证元素和存储元素的组合示例

<强>脚本

<tr>
    <td>verifyAttribute</td>
    <td>css=script@src</td>
    <td>*42449.js</td>
</tr>
<tr>
    <td>storeAttribute</td>
    <td>css=script@src</td>
    <td>source</td>
</tr>
<tr>
    <td>echo</td>
    <td>${source}</td>
    <td></td>
</tr>

日志输出

[info] Playing test case Untitled
[info] Executing: |verifyAttribute | css=script@src | *42449.js |
[info] Executing: |storeAttribute | css=script@src | source |
[info] Executing: |echo | ${source} | |
[info] echo: //img.xxxx.com/u/14/p42449.js
[info] Test case passed 

您唯一需要注意的是,如果您的网页上有多个脚本标记,那么您只需要修改第n个值的定位器,如果它是第二个或第三个脚本等。

答案 1 :(得分:0)

上面的代码看起来不错,但由于它不是基于css,因此订单无关紧要。

<tr>
    <td>verifyElementPresent</td>
    <td>//script[contains(@src, 'p42449.js')]</td>
    <td>*ga.js</td>
</tr>
<tr>
    <td>storeAttribute</td>
    <td>//script[contains(@src, 'p42449.js')]@src</td>
    <td>source</td>
</tr>
<tr>
    <td>echo</td>
    <td>${source}</td>
    <td></td>
</tr>