Description
You can mark arbitrary parts of script code as test cases. Such “test cases” will be included in the Summary report as a separate entry. You can also send the results of such “test cases” to an external test management system (for instance, Zephyr Squad).
The aqTestCase.End method sets the ending point for the test case started by the aqTestCase.Begin method.
Declaration
aqTestCaseObj.End()
| aqTestCaseObj | An expression, variable or parameter that specifies a reference to an aqTestCase object | |||
| Result | None | |||
Applies To
The method is applied to the following object:
Result Value
None.
Remarks
-
The
aqTestCase.BeginandaqTestCase.Endmethods do not allow creating nested test cases. TheEndmethod call must alway follow theBeginmethod call. -
If you call the
aqTestCase.Beginmethod without calling an accompanyingaqTestCase.Endmethod, TestComplete will treat all the executed code (from theaqTestCase.Beginmethod call to the end of the run) as a single test case.However, in this case, TestComplete will not send test results to an external test management system (if it is specified by the
aqTestCase.Beginmethod’s ExternalTestCase parameter). -
The
aqTestCase.BeginandaqTestCase.Endmethods do not necessarily need to belong to the same routine. They can belong to different routines as long as the proper call order is kept: the routine that calls theaqTestCase.Beginmethod must run before the routine that calls theaqTestCase.Endmethod. -
To make sure that the ending point is always set properly in your test cases, we recommend that you use the Begin and End methods along with handling exception statements.
-
You can use the methods in data-driven tests to isolate individual iterations through a data source.
Example
The following sample code marks a part of the Main routine as the Create an order test:
JavaScript, JScript
{
var page = Aliases.browser.page;
var panel = page.Aspnetform.panel;
panel.Username.SetText("Tester");
panel.Password.SetText("test");
panel.submitbutton.Click();
page.Wait();
// Sets the beginning of the "Create an order" test
aqTestCase.Begin("Create an order");
try{
page.Aspnetform.table.cell1.linkOrder.Click();
page.Wait();
var cell = page.Aspnetform.table.cell.panelContent.tableorder.cell;
cell.selectProduct.ClickItem("ScreenSaver");
…
cell.panel.linkProcess.Click();
page.Wait();
page.Aspnetform.table.cell1.linkViewAllOrders.Click();
page.Wait();
}
catch (e){
…
}
finally{
// Sets the end of the "Create order" test
aqTestCase.End();
}
var table = page.Aspnetform.table.cell.panelContent.panel.table;
table.Cell(1, table.ColumnCount(1) - 1).ImageButton(0).Click();
page.Wait();
…
Aliases.browser.Close();
}
Python
def main():
page = Aliases.browser.page
panel = page.Aspnetform.panel
panel.Username.SetText("Tester")
panel.Password.SetText("test")
panel.submitbutton.Click()
page.Wait()
# Sets the beginning of the "Create an order" test
aqTestCase.Begin("Create an order");
try:
page.Aspnetform.table.cell1.linkOrder.Click()
page.Wait()
cell = page.Aspnetform.table.cell.panelContent.tableorder.cell
cell.selectProduct.ClickItem("ScreenSaver")
#...
cell.panel.linkProcess.Click()
page.Wait()
page.Aspnetform.table.cell1.linkViewAllOrders.Click()
page.Wait()
except Exception as e:
#...
finally:
# Sets the end of the "Create order" test
aqTestCase.End()
table = page.Aspnetform.table.cell.panelContent.panel.table
table.Cell(1, table.ColumnCount[1] - 1).ImageButton(0).Click()
page.Wait()
#...
Aliases.browser.Close()
VBScript
Dim page, table, settings
Set page = Aliases.browser.page
Dim panel
Set panel = page.Aspnetform.panel
Call panel.Username.SetText("Tester")
Call panel.Password.SetText("test")
Call panel.submitbutton.Click()
Call page.Wait
' Sets the beginning of the "Create an order" test
aqTestCase.Begin("Create an order")
On Error Resume Next
Dim cell
Call page.Aspnetform.table.cell1.linkOrder.Click
Call page.Wait
Set cell = page.Aspnetform.table.cell.panelContent.tableorder.cell
Call cell.selectProduct.ClickItem("ScreenSaver")
…
Call cell.panel.linkProcess.Click
Call page.Wait
Call page.Aspnetform.table.cell1.linkViewAllOrders.Click
Call page.Wait
If Err.Number <> 0 Then
…
End If
' Sets the end of the "Create order" test
aqTestCase.End
Set table = page.Aspnetform.table.cell.panelContent.panel.table
Call table.Cell(1, table.ColumnCount(1) - 1).ImageButton(0).Click
Call page.Wait
…
Call Aliases.browser.Close
End Sub
DelphiScript
var page, panel, table, cell;
begin
page := Aliases.browser.page;
panel := page.Aspnetform.panel;
panel.Username.SetText('Tester');
panel.Password.SetText('test');
panel.submitbutton.Click;
page.Wait;
// Sets the beginning of the "Create an order" test
aqTestCase.Begin('Create an order');
try
begin
page.Aspnetform.table.cell1.linkOrder.Click;
page.Wait;
cell := page.Aspnetform.table.cell.panelContent.tableorder.cell;
cell.selectProduct.ClickItem('ScreenSaver');
…
cell.panel.linkProcess.Click;
page.Wait;
page.Aspnetform.table.cell1.linkViewAllOrders.Click;
page.Wait;
end;
finally
// Sets the end of the "Create order" test
aqTestCase.End;
end;
table := page.Aspnetform.table.cell.panelContent.panel.table;
table.Cell(1, table.ColumnCount[1] - 1).ImageButton(0).Click;
page.Wait;
…
Aliases.browser.Close();
end;
C++Script, C#Script
{
var page = Aliases["browser"]["page"];
var panel = page["Aspnetform"]["panel"];
panel["Username"]["SetText"]("Tester");
panel["Password"]["SetText"]("test");
panel["submitbutton"]["Click"]();
page["Wait"]();
// Sets the beginning of the "Create an order" test
aqTestCase["Begin"]("Create an order");
try{
page["Aspnetform"]["table"]["cell1"]["linkOrder"]["Click"]();
page["Wait"]();
var cell = page["Aspnetform"]["table"]["cell"]["panelContent"]["tableorder"]["cell"];
cell["selectProduct"]["ClickItem"]("ScreenSaver");
…
cell["panel"]["linkProcess"]["Click"]();
page["Wait"]();
page["Aspnetform"]["table"]["cell1"]["linkViewAllOrders"]["Click"]();
page["Wait"]();
}
catch (e){
…
}
finally{
// Sets the end of the "Create order" test
aqTestCase["End"]();
}
var table = page["Aspnetform"]["table"]["cell"]["panelContent"]["panel"]["table"];
table["Cell"](1, table["ColumnCount"](1) - 1)["ImageButton"](0)["Click"]();
page["Wait"]();
…
Aliases["browser"]["Close"]();
}

Example