selenium笔记
1)验证文本是否存在:
command:verifyTextPresent
2)验证html tag是否存在(测试特定UI元素)
command:veriftElementPresent(检查链接、图片、分区等)
3)测试文本和UI元素,检查Xpath或DOM定位器检查特定文本是否出现在页面上的特定位置
command:verifytext
4)identifier
当不能识别为其他定位方式后,默认为identifier定位,第一个使用指定id的页面元素被识别,没有使用指定id元素,将识别第一个名字与指定条件相符的元素。
5)name
设计人员频繁改变页面,通过id或name特性定位元素;
6)xpath定位
xpath定位以"//"开始,xpath=标签是必需的;
帮助获取页面元素的xpath,firefox的插件为:xpath checker
7)通过链接文字定位超链接:link
8)DOM定位
通过javascript评估页面上的元素,如:dom=document.getElementById('loginForm')来定位页面元素form
9)CSS定位
css使用选择器来为页面元素绑定式样属性
10)文字范本匹配
允许你使用特殊字符来描述期望值,三种类型的范本:globbing/regular expressions和Exact;
A、globbing范本
*匹配任何东西
[]字符集,匹配任何方括号内的字符;[0-9]匹配任何数字;[a-zA-Z0-9]匹配任何字母与数字
B、regular expressions 范本
<<确保特定表格单元中仅含有数字,regexp:[0-9]+是一个简单范本,可以匹配任何长度的十进制数;
<<regular expression范本需要被加上regexp:大小写敏感,regexpi大小写不敏感;
11)andwait命令
andwait会等待页面完全加载,如果操作浏览器会转向其他页面或重新加载当前页面,需要使用andwait变种;
andwait命令超时前没有页面导航或刷新动作,使用andwait会导致失败。
12)ajax应用中使用waitfor命令
在ajax驱动的web应用中,数据从服务器取回不需要刷新页面,不刷新页面andwait无法正常工作,通过waitfor实现以动态周期等待页面元素,waitforelementpresent或者waitforvisible会每秒动态地检查期望的条件,满足条件执行脚本中的下一条命令;
13)执行程序和控制流
a、使用selenium rc运行脚本,用java或php高级语言控制执行流;
b、通过storeeval命令在脚本中执行Javascript片段;
C、安装goto_sel_ide.js扩展
store命令:
storeelementpresent:存储true or false,由页面元素是否存在决定
storetext:使用定位器来标识特定页面文本,找到文本存储到变量中,storetext可以从测试页面中提取文本;
storeeval:允许脚本运行结果保存到变量中;
测试案例中创建所有变量存储在storedvars关联数组中,访问变量时,storedvars['变量名']来关联;