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 for Jira).
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.Begin
andaqTestCase.End
methods do not allow creating nested test cases. TheEnd
method call must alway follow theBegin
method call. -
If you call the
aqTestCase.Begin
method without calling an accompanyingaqTestCase.End
method, TestComplete will treat all the executed code (from theaqTestCase.Begin
method 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.Begin
method’s ExternalTestCase parameter). -
The
aqTestCase.Begin
andaqTestCase.End
methods 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.Begin
method must run before the routine that calls theaqTestCase.End
method. -
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"]();
}