簡體   English   中英

UFT / QTP:無法在Firefox中訪問Object.CurrentStyle

[英]UFT / QTP : unable to access Object.CurrentStyle in Firefox

我正在使用以下代碼在IE上獲取“鏈接”的字體大小。

Browser("BB").Page("PP").Link("link").Object.CurrentStyle.fontSize

但是,如果我在FireFox上使用相同的代碼,則QTP / UFT會引發錯誤:

對象為必需的“ Object.CurrentStyle”。

研究和探索了很多之后,我發現,Firefox瀏覽器不Object.CurrentStyle ,但它是Object.Style這是QTP的內置功能,下面的代碼使用

Browser("BB").Page("PP").Link("link").Object.style.fontSize

但我沒有獲取Firefox的結果

在瀏覽器之間切換時,我遇到了類似的問題。 IE具有其他瀏覽器不支持的特殊樣式對象。 我建議一種更通用的策略,將其視為樣式-html屬性。 您可以使用純DOM,但可以使用UFT測試對象:

步驟1:找到您要從中提取樣式的html節點:
Set element = Browser("creationtime:=0").Page("title:=HelloWorld").WebElement("xpath:=//html/body/div[@id='something']")

步驟2:提取樣式數據
attributeValue = element.Object.GetAttribute("style")

attributeValue現在是一個包含樣式屬性數據的字符串,可以將其拆分,進行正則表達式或您需要的任何內容

`TestObject.Object.currentStyle.fontSize` 

只能在IE上運行而不能在FireFox上運行 ,我們可能會選擇使用“ Style”代替FireFox的“ currentStyle”,但這不能正常工作。 另外, FontSize在IE中讀為“ FontSize”, 在Firefox中 讀為 “ font-size”

Firefox上的應用程序檢索所需信息

set FXObj= Browser("title:=Test_2").Page("title:=Test_2").Link("text:=link")

Set webElem = FXObj.Object
Set compStyle=Browser("title:=Test_2").Page("title:=Test_2").Object.defaultView.getComputedStyle(webElem, "")

fntsize = CompStyle.getPropertyValue("font-size")
Print fntsize

FireFox DOM不支持與IE相同的所有方法。 我已經通過獲取瀏覽器的“應用程序版本”屬性並使用一個函數根據瀏覽器類型確定我要查找的值,從而解決了跨平台測試的類似問題。

它雖然沒有魅力,但為我的團隊節省了很多精力。

您可以在此處找到FireFox頁面/文檔DOM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM