Projekt

Obecné

Profil

Stáhnout (3.4 KB) Statistiky
| Větev: | Tag: | Revize:
1
*** Settings ***
2
Documentation	A test suite with tests of vertex grouping functionality.
3
...
4
...				This test has a workflow that is created using keywords in
5
...				the imported resource file.
6
...
7
Suite Setup		Open Browser To Demo Diagram
8
Test Setup		Click Element	//button[@id='vertexToGroup']
9
Test Teardown	Reload Diagram Screen
10
Suite Teardown	Close Browser
11
Resource		common.robot
12

    
13
*** Variables ***
14
${zoomInButton}	//button[@id='zoomIn']
15

    
16
${vertex5}	//*[name()='svg'][contains(@class, 'vertex')][@data-id='5']
17
${vertex6}	//*[name()='svg'][contains(@class, 'vertex')][@data-id='6']
18

    
19
${group1}	//*[name()='svg'][contains(@class, 'group')][@data-id='1']
20

    
21
${groupName}	/*[name()='text'][@class='group-name']
22
${groupVertexList}	/*[name()='g'][@class='group-vertex-list']
23
${groupExpandButton}	/*[name()='g'][contains(@class, 'expand-button')]
24
${groupCompressButton}	/*[name()='g'][contains(@class, 'compress-button')]
25
${groupDissolveButton}	/*[name()='g'][contains(@class, 'dissolve-button')]
26

    
27
${vertexContextMenu}	//div[contains(@class, 'context-menu')]
28

    
29
*** Test Cases ***
30
Mouse Down Group
31
	Mouse Down	${group1}
32
	Element Should Have Class	${group1}	node--dragged
33
	Mouse Up	${group1}
34
	Element Should Not Have Class	${group1}	node--dragged
35

    
36
Drag Group
37
	# zoom in to 100% to get correct coordinates
38
	Click Element	${zoomInButton}
39
	Click Element	${zoomInButton}
40
	# get old group coordinates
41
	${oldX}=	Get Element Attribute	${group1}	x
42
	${oldX}=	Convert To Number	${oldX}	2
43
	${oldY}=	Get Element Attribute	${group1}	y
44
	${oldY}=	Convert To Number	${oldY}	2
45
	# move vertex by 10 pixels in both directions
46
	Drag And Drop By Offset		${group1}	10	10
47
	# get new group coordinates
48
	${newX}=	Get Element Attribute	${group1}	x
49
	${newX}=	Convert To Number	${newX}	2
50
	${newY}=	Get Element Attribute	${group1}	y
51
	${newY}=	Convert To Number	${newY}	2
52
	# check that offset matches
53
	Should Be Equal As Numbers	${oldX + 10}	${newX}
54
	Should Be Equal As Numbers	${oldY + 10}	${newY}
55

    
56
Rename Group
57
	Element Should Contain	${group1}${groupName}	Group 1
58
	# trigger group rename prompt
59
	Click Element	${group1}/*[name()='text']
60
	Input Text Into Alert	Lorem Ipsum
61
	# check that group name was changed
62
	Element Should Contain	${group1}${groupName}	Lorem Ipsum
63

    
64
Expand And Compress Group
65
	# expand group
66
	Click Element	${group1}${groupExpandButton}
67
	# check that group is expanded
68
	Element Should Have Class	${group1}	group--expanded
69
	Element Should Not Be Visible	${group1}${groupExpandButton}
70
	Element Should Be Visible	${group1}${groupCompressButton}
71
	Element Should Be Visible	${group1}${groupVertexList}
72
	# compress group
73
	Click Element	${group1}${groupCompressButton}
74
	# check that group is back to normal
75
	Element Should Not Have Class	${group1}	group--expanded
76
	Element Should Be Visible	${group1}${groupExpandButton}
77
	Element Should Not Be Visible	${group1}${groupCompressButton}
78
	Element Should Not Be Visible	${group1}${groupVertexList}
79

    
80
Dissolve Group
81
	Click Element	${group1}${groupDissolveButton}
82
	# check that group is not visible while its vertex is
83
	Element Should Not Be Visible	${group1}
84
	Element Should Be Visible	${vertex6}
85

    
86
Add Vertex To Group
87
	# open vertex context menu
88
	Open Context Menu	${vertex5}
89
	Element Should Be Visible	${vertexContextMenu}
90
	# add vertex to group
91
	Click Element	${vertexContextMenu}//li[1]
92
	# check that neither vertex nor its context menu is visible
93
	Element Should Not Be Visible	${vertexContextMenu}
94
	Element Should Not Be Visible	${vertex5}
95

    
96
*** Keywords ***
(8-8/14)