Selenium IDE使用的相关功能

一、断点

录制完了脚本后,我们就需要对脚本进行调试,调试是为了发现脚本中的错误并进行修复以及加固脚本的稳定性,这个时候我们就需要用到断点,在脚本中某一步中右键选择“Toggle Breakpoint”,相对应的步就显示暂停图标,再点击一次就可以取消




运行case后,到此步时就会暂停,点击快捷键中的“Step”就可以一步步调试了




二、检查点

运行一个case后,实际的结果可能有很多,我们期望的可能只有一种,那就需要使用检查点来帮我们验证case的结果是不是我们想要的,IDE里有两种方法:

1.在录制过程中,在我们想要验证的页面元素上右键,在菜单“Show all Available Commands”中选择一个检查点



2.在IDE脚本框中某一步右键选择插入一个命令




然后选中新的命令,在Command中输入一个检查点函数,常用的检查点函数如下:

  • verifyElementPresent

  • assertElementPresent

  • verifyElementNotPresent

  • assertElementNotPresent

  • verifyText

  • assertText

  • verifyAttribute

  • assertAttribute

  • verifyChecked

  • assertChecked

  • verifyAlert

  • assertAlert

  • verifyTitle

  • assertTitle



三、等待

在case执行时,程序可能由服务器的响应速度慢或者页面跳转时,执行下一步的页面元素还未加载出来,这个时候case就会报找不到元素,因此,就需要在此步前面加入等待,等这个元素出现再执行命令,实现方法同检查点相同。下面是几个常用命令

  • waitForAlertNotPresent

  • waitForAlertPresent

  • waitForElementPresent

  • waitForElementNotPresent

  • waitForTextPresent

  • waitForTextNotPresent

  • waitForPageToLoad

  • waitForFrameToLoad


四、匹配


系统中有些页面的值,如果出现动态值,每次打开都会不一样,这个时候我们就需要用到匹配,selenium中可以使用的方法有三种:通配符、精准匹配、正则表达式


1.通配符

selenium中可以使用的通配符有三种:

  • *     匹配任意长度的字符。

  • ?    匹配单个字符。

  • [ ]   可以匹配含有括号内的任何字符。 eg:[0-9]-----匹配任何数字    [a-zA-Z]------匹配任何字母    [a-zA-Z0-9]------匹配任何字母与数字

2.精准匹配

精准匹配用的很少,因为它就是精准,要求的值和实际一样,所有有时只要输入真实值就好,使用时只要在前面加“exact:”前缀


3.正则表达式匹配


正则表达式是三个中最强大的,开发语言中也运用最广的,在selenium中前缀必须加上“regexp:  ”或者“regexpi:”;前一种方式对大小写敏感,后一种方式对大小写不敏感。 eg: regexp:[1-9][0-9]{4,}  匹配QQ号


五、扩展功能

IDE中的一些函数无法满足我们使用中的应用时,可以使用js写一些方法导入进入使用,点击菜单栏中的“Options”进入“general”中,把js文件添加到Selenium Core extensions中,重新启动IDE,这样就可以使用自定义的方法了




六、代码导出

selenium IDE只可以在火狐浏览器中使用,要想在别的浏览器中使用脚本运行,selenium IDE可以把脚本导出为selenium2格式的脚本,可以运行在其它浏览器上



jsf和jpa 期末大作业 <%@ page language="java" import="java.util.*,dao.*,entitybean.*" pageEncoding="utf-8"%> <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%> <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <f:view> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <style type="text/css"> </style> </head> <body > <div style="position:absolute; width:100%; height:100%; z-index:-1;background-color:#2894FF;background-repeat : no-repeat;background-size:90% 90%;opacity:1"> <img src="image/re2.jpg"> <h3>人事信息管理</h3> <p style="text-align:center"> <h:outputLink value="/faces/add.jsp">添加一条</h:outputLink> <h:form> <h:dataTable value="#{loginBean.persons}" var="person" border="5" cellpadding="5" cellspacing="2"> <h:column> <f:facet name="header"> <h:outputText id="headerText1" value="职工号"/> </f:facet> <h:outputText value="#{person.id}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText2" value="姓名"/> </f:facet> <h:outputText value="#{person.name}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText3" value="性别"/> </f:facet> <h:outputText value="#{person.gender}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText4" value="年龄"/> </f:facet> <h:outputText value="#{person.age}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText5" value="国籍"/> </f:facet> <h:outputText value="#{person.address_country}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText6" value="详细地址"/> </f:facet> <h:outputText value="#{person.address_detail}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText7" value="邮编"/> </f:facet> <h:outputText value="#{person.address_zip}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText8" value="入职时间"/> </f:facet> <h:outputText value="#{person.entry_time}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText9" value="所属部门"/> </f:facet> <h:outputText value="#{person.depertment}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText10" value="职位"/> </f:facet> <h:outputText value="#{person.position}"/> </h:column> <h:column> <f:facet name="header"> <h:outputText id="headerText11" value="工资"/> </f:facet> <h:outputText value="#{person.salary}"/> </h:column> <h:column> <h:outputLink value="faces/edit.jsp" > <h:outputText value="编辑"></h:outputText> <f:param name="p_id" value="#{person.id}"/> </h:outputLink> </h:column> <h:column> <h:outputLink value="delete.jsp" > <h:outputText value="删除"></h:outputText> <f:param name="p_id" value="#{person.id}"/> </h:outputLink> </h:column> </h:dataTable> </h:form> </p> <img src="image/re.jpg"> </div> </body> </html> </f:view>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值