2012-10-02 18 views
1

我一直在試圖測試一個web應用程序,生成中間隨機值的html id。例如:attribute_new_12493044135_name 該屬性定義了我想要查找的對象的類,而「name」是此字符串的唯一部分。問題是我沒有Xpath 2.0,因此不能在腳本上使用ends-with。 任何人都可以幫忙嗎?我試過使用Selenium Webdriver和IDE,但找不到答案。硒目標有隨機數

+1

您可以測試開始(即'attribute_new'),然後過濾實際代碼中的元素(即在C#或Java中)。這將是緩慢的,但它是一種選擇。如果沒有,那麼我會毫不猶豫地說這個,但這個應用程序不是真正可測試的。你能否讓你的開發者改變它,以便它有更好的ID?數字與任何事物有關嗎?即,它們是否與數據庫中的特定ID相關? – Arran

回答

3

如果您無法訪問Xpath 2.0庫,您確實無法使用ends-with函數。但是你可以訪問所有的Xpath 1.0函數。 http://www.edankert.com/xpathfunctions.html

您有兩個函數可用於xpath到您的元素。

包含()://*[contains(@id, 'name')]

子()://*[substring(@id, string-length(@id)-3)="name"] 在繩長度3是您的定位符的字符的數目減1,即 '名稱' 具有4個字符,從而4 - 1 = 3

祝你好運!

+0

謝謝!這解決了這個問題。 – user1715197