UFT/QTP:无法在 Firefox 中访问 Object.CurrentStyle
UFT / QTP : unable to access Object.CurrentStyle in Firefox
我正在使用以下代码在 IE.
上获取 "link" 的字体大小
Browser("BB").Page("PP").Link("link").Object.CurrentStyle.fontSize
但是,如果我在 FireFox 上使用相同的代码,QTP/UFT 会抛出错误:
object required "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 现在是一个包含样式属性数据的字符串,它可以被拆分、RegExp'd 或任何你需要的
`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 相同的所有方法。我通过获取浏览器的 "application version" 属性 并使用函数根据浏览器类型确定我正在寻找的值,解决了类似的跨平台测试问题。
它并不迷人,但它为我的团队节省了很多人头。
您可以找到 FireFox page/document DOM here.
我正在使用以下代码在 IE.
上获取 "link" 的字体大小Browser("BB").Page("PP").Link("link").Object.CurrentStyle.fontSize
但是,如果我在 FireFox 上使用相同的代码,QTP/UFT 会抛出错误:
object required "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 现在是一个包含样式属性数据的字符串,它可以被拆分、RegExp'd 或任何你需要的
`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 相同的所有方法。我通过获取浏览器的 "application version" 属性 并使用函数根据浏览器类型确定我正在寻找的值,解决了类似的跨平台测试问题。
它并不迷人,但它为我的团队节省了很多人头。
您可以找到 FireFox page/document DOM here.