robot framework + ride web页面测试,表格和字母遍历

阅读更多

在使用ride调用selenium2library进行web测试时,先后遇到了几个问题。

1. 第一个问题就是在块状布局的页面上始终无法选中控件,总说did not match. 用xpath或各种属性都没有用。

在仔细查看xpath的层级和各项内容后,发现这些控件都在frame层下,而selenium提供了选择frame的函数。所以不select frame就直接查找控件,是无法找到的。

select frame    name=leftFrame

 

 

2. 第二个问题是页面上会有一个按字母检索,每次检索会返回一个数据表格。而ride中,for循环只能在数字或list中遍历,无法直接遍历字母。

没有现成的方法,只能考虑用其它方式解决。其实平台是用python写的,完全支持python语言的函数。但是貌似只能方便的支持单一语句,

: FOR    ${A2Z}    IN RANGE    65    91
    \    ${letter}    evaluate    chr(${A2Z})

 用字母的ascii码值做循环,然后用调用python语句的关键字,强大的evaluate调python完成字母转换,就可以完成字母的遍历了。

 

3. 第三个问题表格的遍历,需要先能知道表格的行数,然后再遍历。

查询了半天,可以使用get matching xpath count来获取,而rawlocator需要使用表中行的定义,如://table[@id= 'data']/tbody/tr

run keyword and return    get matching xpath count    .${rowLocator}

 然后就可以按行数循环去查找单元格了。

${curText}    Get Text    ${rowLocator}[${rowIndex}]/td[${column}]

 

你可能感兴趣的:(web,robot,framework)