2

嗨,

是否可以使用 Quick Test Professional 通过 UI 测试 mxGraphs?

4

2 回答 2

1

假设您的意思是 mxGraphs(下次链接会很好)作为用于在 webbrowser 中绘制图表的 javascript 库:

使用示例应用程序:这是可能的,但效果不佳。左侧的所有基本形状都是可选的,并且通过它们的“alt”属性或“filename”属性具有唯一的名称。QTP 可以识别顶部的按钮,但会导致对象名称的通用创建,如果要使用,则必须摆弄 Class 属性。

录音示例(荷兰文化):

' left-side objects
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").Image("Container").Click
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").Image("Tekst").Click

' changing the text on the Tekst object
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").WebEdit("WebEdit").Set "Change of Text"

' More new objects
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").Image("Signal-in Arrow").Click
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").Image("Corporate Data Center").Click

' Changing text on the Corporate Data Center object
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").WebEdit("WebEdit").Set "new text"

' Top buttons
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").WebButton("WebButton").Click
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").Frame("Frame").WebButton("Annuleren").Click
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").WebButton("WebButton_2").Click
Browser("Diagramly - Draw Diagrams").Page("Diagramly - Draw Diagrams").WebButton("WebButton_3").Click

画布(绘图区)是另一回事。拖放不容易自动化,因为它不能被自然识别。您必须为此编写自己的函数。

形状识别仅适用于 innerHtml 中的属性,或 x 和 y 位置。如果您想对对象进行广泛的创建和更改/编辑,那么您可以创建一个库,其中所有对象都作为虚拟对象保存在其中,并记住每个对象的状态。但这并不容易。

在 WinXP SP3、IE8 和 QTP10.00 上测试

TL;DR 否。QTP 可以捕获某些组件,但它会令人厌烦且缓慢。如果您只想查看侧栏上的所有项目是否都存在并且可以创建,那么这将是值得的。

于 2012-02-10T15:58:46.270 回答
0

这是可行的。我们实现类似的方法是确保您拥有固定大小和固定分辨率的窗口。为了检查结果,我们只是对预期的内容和屏幕截图进行了二进制差异(全屏使用浏览器)。

不是最好的解决方案 - 但大部分时间都在起作用。

于 2012-02-10T16:17:22.237 回答