2012-02-09 50 views

回答

1

假设你的意思mxGraphs(链接将是很好的下一次)的JavaScript库在web浏览器画图:

使用example应用:这是可能的,但甚少。左侧的所有基本形状都是可选的,并且通过它们的“alt”属性或“文件名”属性具有唯一的名称。顶部的按钮可以被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被捕获,但是这将是烦人的和缓慢的。如果您只想查看侧栏上的所有项目是否存在并且可以创建,则只需付出努力。

+0

THX,你的回答,看来我必须决定用手动进行测试,或创建一个库扩展QTP只为这一点。 – ALIENwoods 2012-02-16 08:20:54

0

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

不是最好的解决方案 - 但有点大部分时间工作。

+0

是的,在低水平录音,似乎也是一个解决方案。不是最好的解决方案:) – ALIENwoods 2012-02-16 08:24:07

相关问题