2015-11-19 161 views
0

我不知道QuerySelector方法是如何工作的。我見過SmartBear幫助的例子,但在我的應用程序中遇到了麻煩。我認爲它和Find方法一樣。如何在TestComplete中使用QuerySelector方法

例如,當我要地圖的標籤,查找方法是這樣的:

warningLabel= webPagePanel.Find("objectIdentifier", "MainContent_NotificationText", 100, true); 

當我試圖映射使用QuerySelector方法相同的對象,這是行不通的:

warningLabel= webPagePanel.QuerySelector("#MainContent_NotificationText"); 

我嘗試在上面的QuerySelector行(例如,warningLabel.Click)之後使用QuerySelector warningLabel,然後測試失敗並且日誌顯示「Object Required」。所以顯然它沒有發現我的對象

我做錯了什麼?如何將QuerySelector方法用於簡單的標籤映射,如上所示?有問題的標籤有下面的HTML。

INPUT "name=ctl00$MainContent$NotificationText" id="MainContent_NotificationText" type=hidden value="To save a partial filter set for this report, the required fields identified above must not be blank." 
+0

@ebyrob:這個問題不是關於JavaScript的'document.querySelector',它是關於TestComplete(測試工具)中的'QuerySelector'函數。 – Helen

+0

['QuerySelector'](https://support.smartbear.com/viewarticle/72612/)方法僅在網頁上定義,例如, 'Sys.Browser(頁)。( 「http://example.com」).QuerySelector(...)'。你的webPagePanel對象是一個頁面嗎? – Helen

+0

我得到它的工作。起初,我用QuerySelector使用webPage對象。出於某種原因,我無法在整個頁面上使用QuerySelector,例如webPage = Aliases.iexplore.IEWEBPAGE。然後webPage.QuerySelector不起作用。所以相反,我使用的是我在原始文章中顯示的面板,現在它可以正常工作。 webPagePanel = Aliases.iexplore.IELOA.FIND(「objectIdentifer」,「webPagePanel」)...然後webPagePanel.QuerySelector工作。 –

回答

2

你試圖找到的對象是無形的(輸入...類型=「隱藏」 ...)和TestComplete沒有顯示出其對象樹中不可見的對象。如果你只需要得到這個隱藏框的值,可以使用querySelector方法,而不是原生版本:

var warningLabel_Native = webPagePanel.contentDocument.querySelector("#MainContent_NotificationText"); 
    Log.Message(warningLabel_Native.value); 

在這種情況下,你會得到不具有特定TestComplete成員的原生對象如Click(),Find(),VisibleOnScreen等。但是,所有本機功能都將可用。

相關問題