2014-12-19 57 views
2

我正在使用Ranorex工具。我工作的一個應用程序基於.NET,並捕獲對象的特定對象的XPATH,我們正在使用該XPATH來檢查該對象是否存在。但是如果物體的屬性改變了一段時間,我們需要再次改變XPATH。有沒有解決方案?Ranorex XPATH問題

+0

在XPATH如果我把*爲初始值,並在對象的最終名稱,它在我的電腦上工作,但同樣的事情在其他機器上不起作用 – user4376935 2014-12-19 07:11:29

+0

您不應該直接回應您在SO上的自己的問題(或答案)發表評論。如果您有更多信息要添加,請**編輯**您的問題以添加該信息。 (編輯鏈接位於左下角,正下方) – 2014-12-19 09:09:12

回答

4

聽起來好像您的XPath依賴於正在更改以查找對象的屬性。關於XPaths的事情是他們能夠跟蹤任何屬性。因此,例如,如果您正在跟蹤某個類上的某個對象,那麼該類會更改該對象將不再出現在xpath中。

要解決這個問題,只需找到要追蹤的對象的不同屬性即可。例如,您可以跟蹤價值,位置或幾乎任何其他htmnl屬性,只是嘗試使其不變。

我可以給你尋找xpath的最佳建議是儘可能縮短它。例如如果你正在尋找一個對象唯一的id,那麼你的路徑需要一個元素。如果您在動態填充的表格的特定行上查找特定的按鈕,該按鈕無任何特別之處,您可以在給定特定表格單元格的文本的表格上找到該行,然後在適當的單元格中找到該按鈕找到的表格行。不要因爲間諜工具總會給你唯一的xpath而陷入困境,幾乎總是有另一種方式來找到它可能不是最直接的對象。

Here is the ranorex xpath help page爲所有正則表達式和其他選項編輯您的xpaths。

+0

請您詳細說明確定XPATH的其他方法,即間諜。 – 2015-03-24 08:25:04

+2

那麼間諜總是有用的作爲一個起點,我不是故意說不要使用間諜,而是你可以編輯間諜給出的xpath。例如間諜工具只會從元素樹中的頂部元素向下看,但手動編輯xpaths允許您在樹上向上和向下進行遍歷。因此,//"#item"/../input[0]將查找包含具有uniqueId項目的項目的元素的第一個輸入 – theDarse 2015-03-24 21:02:48

2

Ranorex對於網絡爬行來說不是很可靠,xpath selector隨機工作,即使你輸入了正確的xpath選擇器。

您應該使用TestComplete(速度較慢,但​​更可靠的)或測試咖啡廳(更快,更可靠,但有較少的選項,並用jQuery選擇,而不是XPath的工作)