XML Formats (GUITAR 2.0+)
[ GUI Structure (.GUI) ]
[ Event Flow Graph (.EFG) ]
[ Test Case (.TST) ]
[ Oracle information (.ORC) ]
Note: + means it repeats 1 or more times;
* means it repeats 0 or more times;
GUI Structure (.GUI)
+<GUI>
+<Container>
<Attributes>
<Size/>
+<Property>
<Name/>
+<Value/>
</Property>
</Attributes>
<Contents>
+<Container> or <Widget>
<Attributes>
<Size/>
+<Property>
<Name/>
+<Value/>
</Property>
</Attributes>
</Container> or </Widget>
</Contents>
</Container>
</GUI>
The GUI structure has many GUI windows. For each GUI window, we put
information inside a <GUI></GUI> tag. Each GUI window
contains 1 or more containers.
For each container:
Container Info:
<Attributes> is the attributes of the container, including
<Size/> the number of attributes
one or more <Property/>, indicates the property of the container (name) and the respective value(s) (one or more);
<Contents> is the content the container has, including
one or more <Container>/<Widget>, another container or widget
if it is a widget, it doesn't have <Contents> just <Attributes> part (described above);
if it is a container, it has <Attributes> and <Contents> parts recursively
Event Flow Graph (.EFG)
<EFG>
<Events>
+<Event>
<Window/>
<Component/>
<Action/>
</Event>
</Events>
<EventGraph>
+<Row>
+<E/>
</Row>
</EventGraph>
</EFG>
The order of the <Event>, <Row>, and <E>
entries matters! The
ith <Event> corresponds to the ith <Row> and the
ith <E> in each <Row>. The value for the
kth <E> in the jth <Row> is:
- -1 if the relationship between the jth and kth <Event>s is unknown or undefined
- 0 if the kth <Event> cannot be executed immediately after the jth <Event>
- 1 if the kth <Event> can be executed immediately after the jth <Event>
- 2 if the kth <Event> can be executed immediately after the jth <Event> and the jth <Event> is a terminal event (an event that closes a window)
Test Case (.TST)
<TESTCASE>
+<Step>
<Window/>
<Component/>
<Action/>
<WindowFlag/>
<Attributes>
+<Property>
<Name/>
+<Value/>
</Property>
</Attributes>
</Step>
</TESTCASE>
Oracle information (.ORC)
<?xml version="1.0" ?>
<Testsuite>
<Mode>...</Mode>
<Testcase>
<Test>...</Test>
<Length>...</Length>
<Step>
<Window>...</Window>
<Nonterminal>...</Nonterminal>
</Step>
<Oracleinfo>
<GUI>
<Component>
+<Property><Name>...</Name><Value>...</Value></Property>
</Component>
</GUI>
</Oracleinfo>
<Oracleinfo>
+<GUI>
<Window>
<Attributes>
+<Property><Name>...</Name><Value>...</Value></Property>
</Attributes>
</Window>
+<Component>
+<Property><Name>...</Name><Value>...</Value></Property>
</Component>
</GUI>
</Oracleinfo>
...
</Testcase>
</Testsuite>
Each test-case step (event) in the oracle-info file has the form
<Step/>
<Oracleinfo/>
<Oracleinfo/>
The content of <Step/> gives information
about the event performed. The first <Oracleinfo/> gives properties of
the component acted on by the event. The second <Oracleinfo/> gives
properties of all windows and components in the GUI (including the
component acted on by the event).