Adds a new step to a test in the Test Library in QAComplete and returns the ID of the added step.
Requirements
The user must belong to a security group that has the Update privilege for Test Library.
Parameters
The operation uses the following parameters:
AuthenticationData : AuthenticationData, required
An AuthenticationData
object containing the login information and the ID of the project that contains the test to which you want to add a step.
TestStep : TestStep, required
The TestStep
object to add to a test in the Test Library.
SendEmailAlert : string, required
Y
if you want to send an email alert; N
otherwise.
Result
The ID of the added test step.
Remarks
The TestStep
object you pass to the method must have the TestId
and Step
properties specified.
Example
![](/qacomplete/docs/_assets/commonImages/plus-btn.gif)
Sample Code
This example creates a test with two steps.
C#
string login = "[email protected]";
string password = "p@ssword";
int projID = 10372;
// Specifying test properties
string testTitle = "Test input data";
string testStatus = "New";
// Specifying steps properties
string[] Steps = {"Select Tools from the application's main menu.",
"Switch to the Java tabbed page."};
string[] expectedResults = {"The Tools dialog opens.",
"The Java tabbed page shows the path to the Java Virtual machine module."};
int[] Seqs = { 1, 2 };
ServiceSoapClient service = new ServiceSoapClient();
// Prepare AuthenticationData
LoginInfo loginInfo = service.GetLoginInfo("", login, password);
AuthenticationData authData = new AuthenticationData();
authData.AppCode = loginInfo.AppCode;
authData.UserId = loginInfo.UserId;
authData.PassCode = password;
authData.DeptId = loginInfo.DeptId;
authData.ProjId = projID;
// Preparing a new test
Test test = new Test();
test.Title = testTitle;
test.StatusCode = testStatus;
// Add the test
int testId = service.Tests_Add(authData, test, "Y", "This test was added from code.");
Console.WriteLine("Id of the created test: {0}", testId);
for (int i = 0; i < 2; i++)
{
// Preparing the step objects
TestStep step = new TestStep();
step.TestId = testId;
step.Step = Steps[i];
step.ExpectedResult = expectedResults[i];
step.Seq = Seqs[i];
// Adding the step
int stepId = service.TestSteps_Add(authData, step, "Y");
Console.WriteLine("Step {0} was added to the test {1}", stepId, testId);
}
Java
String login = "[email protected]";
String password = "p@ssword";
int projID = 10372;
// Specifying test properties
String testTitle = "Test input data";
String testStatus = "New";
// Specifying steps properties
String[] Steps = {"Select Tools from the application's main menu.",
"Switch to the Java tabbed page."};
String[] expectedResults = {"The Tools dialog opens.",
"The Java tabbed page shows the path to the Java Virtual machine module."};
int[] Seqs = { 1, 2 };
ServiceSoap service = new Service().getServiceSoap12();
// Preparing AuthenticationData
LoginInfo loginInfo = service.getLoginInfo("", login, password);
AuthenticationData authData = new AuthenticationData();
authData.setAppCode(loginInfo.getAppCode());
authData.setUserId(loginInfo.getUserId());
authData.setPassCode(password);
authData.setDeptId(loginInfo.getDeptId());
authData.setProjId(projID);
// Preparing a new test
Test test = new Test();
test.setTitle(testTitle);
test.setStatusCode(testStatus);
// Adding the test
int testId = service.testsAdd(authData, test, "Y", "This test was added from code.");
System.out.format("Id of the created test: %d%n", testId);
for (int i = 0; i < 2; i++)
{
// Preparing the step objects
TestStep step = new TestStep();
step.setTestId(testId);
step.setStep(Steps[i]);
step.setExpectedResult(expectedResults[i]);
step.setSeq(Seqs[i]);
// Adding the step
int stepId = service.testStepsAdd(authData, step, "Y");
System.out.format("Step %d was added to the test %d%n", stepId, testId);
}
![](/qacomplete/docs/_assets/commonImages/plus-btn.gif)
Sample Request XML
POST /psws/psws.asmx HTTP/1.1
Host: myteam.mysite.com
Content-Type: text/xml; charset=utf-8
Content-Length: 850 {Insert an appropriate value here}
SOAPAction: "http://www.pragmaticsw.com/TestSteps_Add"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TestSteps_Add xmlns="http://www.pragmaticsw.com/">
<AuthenticationData>
<AppCode>agSP</AppCode>
<DeptId>8162</DeptId>
<ProjId>11873</ProjId>
<UserId>24661</UserId>
<PassCode>p@ssword</PassCode>
</AuthenticationData>
<TestStep>
<TestId>0</TestId>
<TestStepId>10</TestStepId>
<Seq>4</Seq>
<Step>Select Tools from the application's main menu.</Step>
<DateCreated>0001-01-01T00:00:00</DateCreated>
<DateUpdated>0001-01-01T00:00:00</DateUpdated>
<CreateUserId>0</CreateUserId>
<UpdateUserId>0</UpdateUserId>
<NbrFiles>0</NbrFiles>
<ScriptSourceId>0</ScriptSourceId>
</TestStep>
<SendEmailAlert>Y</SendEmailAlert>
</TestSteps_Add>
</soap:Body>
</soap:Envelope>
SOAP 1.2
POST /psws/psws.asmx HTTP/1.1
Host: myteam.mysite.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 858 {Insert an appropriate value here}
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<TestSteps_Add xmlns="http://www.pragmaticsw.com/">
<AuthenticationData>
<AppCode>agSP</AppCode>
<DeptId>8162</DeptId>
<ProjId>11873</ProjId>
<UserId>24661</UserId>
<PassCode>p@ssword</PassCode>
</AuthenticationData>
<TestStep>
<TestId>0</TestId>
<TestStepId>10</TestStepId>
<Seq>4</Seq>
<Step>Select Tools from the application's main menu.</Step>
<DateCreated>0001-01-01T00:00:00</DateCreated>
<DateUpdated>0001-01-01T00:00:00</DateUpdated>
<CreateUserId>0</CreateUserId>
<UpdateUserId>0</UpdateUserId>
<NbrFiles>0</NbrFiles>
<ScriptSourceId>0</ScriptSourceId>
</TestStep>
<SendEmailAlert>Y</SendEmailAlert>
</TestSteps_Add>
</soap12:Body>
</soap12:Envelope>
![](/qacomplete/docs/_assets/commonImages/plus-btn.gif)
Sample Response XML
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: 374 {The server returns an appropriate value here}
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TestSteps_AddResponse xmlns="http://www.pragmaticsw.com/">
<TestSteps_AddResult>10</TestSteps_AddResult>
</TestSteps_AddResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 384 {The server returns an appropriate value here}
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<TestSteps_AddResponse xmlns="http://www.pragmaticsw.com/">
<TestSteps_AddResult>10</TestSteps_AddResult>
</TestSteps_AddResponse>
</soap12:Body>
</soap12:Envelope>
See Also
TestSteps_Delete
TestSteps_Load
TestSteps_LoadByCriteria
TestSteps_Update
Test Management Operations
Test Step Operations
SOAP API Reference