1. 程式人生 > >robot framework + ride web頁面測試,表格和字母遍歷

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}]