[英]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.