XPath定位問題——針對UI自動化測試

最近在用公司開發(fā)的自動化測試工具測UI和接口,遇到的一個小小小問題,記錄一下。

在寫測試用例的腳本過程中,我想獲取頁面上的元素,找到其ID,如下圖:


用例設計

想獲取“用例設計“這個button,我按照老方法:

檢查

用XPath定位:

copy

為://*[@id="auth"]/a

添加到我的用例中去,發(fā)現(xiàn)執(zhí)行的時候并沒有按預期執(zhí)行:

用例步驟

上圖是寫的用例腳本,把剛剛的xpath://*[@id="auth"]/a添加進去,這個步驟的意思就是點擊“用例設計“按鈕,預期結(jié)果是能顯示出用例設計按鈕下UI測試和接口測試的按鈕,發(fā)現(xiàn)實際結(jié)果是執(zhí)行的是上一個按鈕“測試計劃“:

實際結(jié)果

為什么添加的是“用例設計”的參數(shù),跑的時候卻跑到“測試計劃”上去了?檢索了一下“測試計劃”,發(fā)現(xiàn)XPath和“用例設計”一樣,都是//*[@id="auth"]/a,id是一樣的,難怪。

這里解決的辦法是,構(gòu)建//span[text()=" "],先去控制臺獲取一把:

$x

$x?可以用xPath的語法來獲取頁面上的元素:

$x

把//span[text()="用例設計"]替換原來的,問題就解決了。一開始的時候,我獲取頁面上的按鈕的方式是定位id,但是發(fā)現(xiàn)很多按鈕都沒有id顯示:

id

如百度一下的按鈕id是su,下圖登錄的按鈕id不顯示:


id不顯示

我就用XPath來定位,但是XPath會隨著頁面元素布局的改變而改變,沒有直接獲取按鈕id那么準確(不過也能用)。公司開發(fā)的這個工具我個人覺得界面簡潔,上手容易,還挺喜歡的,只是功能方面還不夠強大,目前還在摸索中。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容