大家好,欢迎来到IT知识分享网。
RFS自动化测试心得:
1、RIDE编辑器,快速注释和取消注释:
按组合键Ctrl + 3,快速注释,会在代码行前加comment
按组合键Ctrl + 4,取消注释
2、log打印日志:有时候日志不会打印变量中间值,不方便定位问题,可使用 log ${temp}打印。
3、遇到获取attribute(属性)中带有不可知数目空格时,用string.split ${temp} ${SPECE}分割,日志可打印出列表中每一个空格。
4、字符串截取:用fetch from left/right 关键字,比如:${temp} FetchFromLeft ‘123 ’ ${SPECE}会得到‘123’。
5、☆有时候获取html元素中title和value值时,会遇到编码不严谨,@value中字符串中有多个空格,比如‘123 ’(123后面2个空格),但是RIDE编辑器中每个表格处理空格可能会合并,如果你get attribute 了value属性,有2个空格,但是Should Be Equal 时输入123空格空格,可能会失败(工作环境用的老版本,不知道新的怎样),空格不匹配,日志不太能看出来。
解决办法有3个:
1)用${SPECE}占位表示空格,可乘以number,表示多个空格;
Should Be Equal ${temp} 123${SPECE*2}
2)获取属性后split或fetch去掉空格再对比;
3)用xpath取属性时,去掉空格
fn:normalize-space(string)
fn:normalize-space()
删除指定字符串的开头和结尾的空白,并把内部的所有空白序列替换为一个,然后返回结果。如果没
有string 参数,则处理当前节点。
例子:normalize-space(‘ The XML ‘)
结果:’The XML’
4)☆//div[contains(@name,‘123’)]用contains函数,推荐用这个
6、preceding-sibling搜索当前节点之前的所有同级别节点,类似:following-sibling搜索当前节点之后的所有同级别节点
用法://button[@value=’总容量’]/preceding-sibling::tr[text()=’硬盘’],自动化大多数情况是定位特定一个节点,注意跟::后面跟具体属性元素定位。
7、${SPECE}和${EMPTY},空格和空:
空格前面讲了,${EMPTY}可以用在<tr value=”” title=”123″>这种属性值为空的情况,这时xpath用get attribute取属性//tr[@title=’123′]@value,Should Be Equal ${temp} ${EMPTY}
8、列表和字典的关键字
${list} Create List
Append to list、Get From List
${dict} Create Dictionary
Set To Dictionary、Get From Dictionary
9、☆从GaussDB数据库中Query数据,返回的是tuple,((123L,’admin’), (22L, ’value’))
取值方式:${tuple[0][1]} = admin 注意和list不一样
10、RIDE中写Windows路径用双斜杠(\\)
${path} Set Variable D:\\xxx\\xxx.tgz
11、Run Keyword And Return Status 运行关键字返回结果,有些关键字不返回结果,可用这个判断
${result} 分割 Run Keyword And Return Status 分割Should Contain ${str} close
判断str中是否包含close,把结果True或False的Boolean值返回。(注意,用了return status失败后不会中断程序运行,仅仅返回False)
12、Wait Until Page Loaded 等待页面加载,已完成加载再执行会报错,我看最新版的好像没有这个关键字了
13、 //table[@id=’g1’]//tr[td[@title=’3i’]][1] xpath匹配多个元素,选择其中一个,可以这样写
14、多重循环
:For ${i} IN/IN RANGE 5
XXX关键字(内嵌循环)
15、多条件语句,RUN KEYWORD IF 记得Else If/Else至少首字母E要大写,不然是错的,经常犯这个错。
16、取值方式:
1)一种<input>标签,无法从属性中获取值,用Get Value
2)第二种<div name =’xxx’ value=’123’>用Get Attribute xpath
//div[@name=’xxx’]@value
17、有些特殊界面,需要拖动界面元素用Drag and drop
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34022.html