selenium使用js代码验证数据正确性

来源:互联网 发布:淘宝等级图 编辑:程序博客网 时间:2024/05/21 12:45

因为要进行数据正确性的验证,如果每次都靠自己来,我相信没多久我的眼就要瞎了,所以开始使用selenium这种东西来验证节点及其子节点文本的正确性。

首先要有selenium,然后直接贴代码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://172.16.19.38:8080/" />
<title>脚本的名称</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">脚本的名称</td></tr>
</thead><tbody>

<!--关闭所有文件,打开需要的文件-->
<tr>
    <td>runScript</td>
    <td><br />    function openFileByName(name){<br /> if(!name){<br /> return;<br /> }<br /> var files=repositoryService.getSourceCode().getItemsByParam(&quot;name&quot;,name);<br /> if(files &amp;&amp; files.length){<br /> main.closeAllCodeTabs();<br /> repositoryService.openFileById(files[0].id);<br /> }else{<br /> throw new Error(name +&quot; is not found.&quot;);<br /> }<br /> }<br />    </td>
    <td></td>
</tr>
<tr>
    <td>runScript</td>
    <td>openFileByName(&quot;想要打开的文件名称&quot;)</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>xpath=/html/body/div[3]/div[1]/div[3]/div[1]/div/div[2]/div/div[1]/div[2]/div[2]/ul/li[1]/button</td>
    <td></td>
</tr>
<!--等待内容加载完成-->
<tr>
    <td>waitForElementPresent</td>
    <td>xpath=/html/body/div[3]/div[1]/div[3]/div[1]/div/div[2]/div/div[1]/div[2]/div[1]/div[2]/div[2]/div/li/a/span[2]</td>
    <td></td>
</tr>
<!--获取节点内容的脚本-->
<tr>
    <td>runScript</td>
    <td>var getNames=function(type){<br /> if(!type){<br /> return ;<br /> }<br /> var tab=window.main.getCurrentCodeTab(),code=tab.code,<br /> _tree= code.filestructureInstance.getTree();<br /> //获取子节点<br /> var nodes=_tree.getNodesByFilter(function(node){<br /> return node.pId!=&quot;0&quot;;<br /> }),<br /> nodeNames=_.pluck(nodes,&quot;name&quot;);<br /> return nodeNames;<br />}</td>
    <td></td>
</tr>

<!--将选择的节点内容存储到vars中-->
<tr>
    <td>storeEval</td>
    <td>window.getNames(&quot;父节点的名称&quot;);</td>
    <td>vars</td>
</tr>

<!--将vars的内容打印到log-->
<tr>
    <td>echo</td>
    <td>${vars}</td>
    <td></td>
</tr>
<tr>

<!--验证节点内容是否与文本相匹配-->
    <td>assertEval</td>
    <td>storedVars['vars'].join(&quot;,&quot;).replace(/\t/g,&quot; &quot;)</td>
    <td>从echo打印的内容中黏贴过来的文本</td>
</tr>
</tbody></table>
</body>
</html>

0 0
原创粉丝点击