2016年03月18日 综合分类 浏览(124) 收藏

selenium ide自动化脚本录制源码片段

自动化工具只支持36.0版本及以下的火狐浏览器。请工具->选项->高级,选择更新Tab,选择“不检测更新”选项。

请确保火狐浏览器安装了selenium-ide插件。(若未安装,那么安装方式:工具->附加组件,选择selenium-ide)


脚本命令一:storeText

逻辑说明:取出某div标签中的用户信息,存储于userName属性变量中,并在运行时通过echo输出,来验证取数是否正确。

<tr>
    <td>storeText</td>
    <td>//div[@class='uname'][2]/ul/li[last()]/div</td>
    <td>userName</td>
</tr>
<tr>
    <td>echo</td>
    <td>${userName}</td>
    <td></td>
</tr>


脚本命令二:storeEval

假设,我们在命令一的场景中,取到的结果是:张三(zhangsan)

那么逻辑说明:0作为起点,“(”作为终点,进行字符串截取。获得中文名称:张三

<tr>
    <td>storeEval</td>
    <td>storedVars['userName'].substring(0, storedVars['userName'].indexOf(&quot;(&quot;))</td>
    <td>userCname</td>
</tr>
<tr>
    <td>echo</td>
    <td>${userCname}</td>
    <td></td>
</tr>


脚本命令三:storeValue

逻辑说明:如果某用户的年龄age值存在于input标签的输入框中。则通过storeValue 获取输入框的值。

<tr>
    <td>storeValue</td>
    <td>//div[2]/div/div/div/div/div/div[4]/table/tbody[2]/tr/td[4]/input</td>
    <td>age</td>
</tr>
<tr>
    <td>echo</td>
    <td>${age}</td>
    <td></td>
</tr>


脚本命令四:while循环

逻辑说明:当前记录每次循环+1,直到记录数大于总记录数才结束循环。

特别说明:若出现while命令无法识别,请引入js插件:sideflow.js:option->General,Selenium Core extensions 选中sideflow.js。见源码附件

<tr>
    <td>while</td>
    <td>${record}&lt;=${totalCount}</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>eval(${record}+1)</td>
    <td>record</td>
</tr>
<tr>
    <td>endWhile</td>
    <td></td>
    <td></td>
</tr>


脚本命令五:runScript

逻辑说明:直接通过js脚本操作页面元素。

<tr>
    <td>runScript</td>
    <td>if ($('#tipbox').length == 0) {$('#tip ul').append('<div id="tipbox">hello</div>');} $('#tipbox').show();</td>
    <td></td>
</tr>


脚本命令六:selectFrame

逻辑说明:选择某frame面板,在此面板上执行后续自动化脚本。

<tr>
    <td>selectFrame</td>
    <td>//div[@id=&quot;f1&quot;]/iframe</td>
    <td></td>
</tr>


脚本命令七:pause

逻辑说明:暂停2秒,常用于等待页面加载数据

<tr>
    <td>pause</td>
    <td>2000</td>
    <td></td>
</tr>


脚本命令八:fireEvent、type

逻辑说明:将光标focus到userCnameInput输入框并填充内容${userCname}。然后blur离开输入框。可模拟人工输入并触发onXXX事件。

<tr>
    <td>fireEvent</td>
    <td>id=userCnameInput</td>
    <td>focus</td>
</tr>
<tr>
    <td>type</td>
    <td>id=userCnameInput</td>
    <td>${userCname}</td>
</tr>
<tr>
    <td>fireEvent</td>
    <td>id=userCnameInput</td>
    <td>blur</td>
</tr>


脚本命令九:storeXpathCount

逻辑说明:统计某个Xpath dom节点出现次数

<tr>
    <td>storeXpathCount</td>
    <td>//span[text()=&quot;${domName}&quot;]</td>
    <td>domNameRecords</td>
</tr>


脚本命令十:select

逻辑说明:选择下拉框id="age",并选择值等于18的option。

<tr>
    <td>select</td>
    <td>//select[@id='age']</td>
    <td>value=18</td>
</tr>


脚本命令十一:click

逻辑说明:模拟点击事件,例如点击id="add"的按钮或者元素等。

<tr>
    <td>click</td>
    <td>id=add</td>
    <td></td>
</tr>


脚本命令十二:gotoIf

逻辑说明:当命令九中统计的domNameRecords次数不等于1时,则跳转到“alert”label处继续执行。

<tr>
    <td>gotoIf</td>
    <td>${domNameRecords} != 1</td>
    <td>alert</td>
</tr>
<!-- 此处省略N个其他命令-->
<tr>
    <td>label</td>
    <td>alert</td>
    <td></td>
</tr>
<tr>
    <td>getEval</td>
    <td>alert(&quot;弹个框给你提示&quot;)</td>
    <td></td>
</tr>


脚本命令十三:gotolabel

逻辑说明:跳转到label:"finish"处继续执行后续命令。

<tr>
    <td>gotolabel</td>
    <td>finish</td>
    <td></td>
</tr>
<!-- 此处省略N个其他命令-->
<tr>
    <td>label</td>
    <td>finish</td>
    <td></td>
</tr>


自动化脚本有哪些用途:

1)可以通过脚本录制的方式,自动记录手工测试过程,后续代替人工自动回放进行自动化测试。

2)可以通过编码的方式进行高级自动化模拟人工操作,减少人工的工作量。

3)某些抢购、刷奖品等操作也可以通过自动化脚本来完成哦。

sideflow-master.zip预览文件大小:4.77K云豆:0下载
赞一下 0 人赞了本文