RQMExcelImporter: why testsuite linking to testcase needs testcase external id to be specified?
I tested with 4.0.5 and 5.0.2 RQMExcelImporter using TestSuite with TestCases 001.cfg/TestSuite with TestCases 001.xls.
cfg file is like below:
====
testsuite.dc:title=C1
testsuite.dc:description=A4
testsuite.XLSLink=testcase
testcase.XLSStartRow=7
//testcase.XLSArtifactID=B
testcase.dc:title=B
testcase.dc:description=E
testcase.jzalm:owner=C
testcase.Section("myns:com.ibm.rqm.planning.editor.section.testCaseDesign","RQM-KEY-TC-DESIGN-TITLE")=F
testcase.Section("myns:com.ibm.rqm.planning.editor.section.testCasePreCondition","RQM-KEY-TC-PRE-COND-TITLE")=K
testcase.Section("myns:com.ibm.rqm.planning.editor.section.testCasePostCondition","RQM-KEY-TC-POST-COND-TITLE")=L
===
If I commented out testcase.XLSArtifactID=B(don't want to use XLSArtifactID keyword reference to https://jazz.net/forum/questions/227848/rqm-excel-importer-tool-602-how-to-use-the-sample-file-testsuite-with-testcases-that-have-testscriptscfg-without-xlsartifactid)
then I will get
Error sending to server Testsuite_with_testcases_that_have_testscripts2_Sheet1_1.xml of type testsuite
It looks like "testsuite.XLSLink=testcase" requires "testcase.XLSArtifactID=B" to be spedified.
I am wondering why testsuite linking to testcases using XLSLink requires XLSArtifactID?
(I understand if we have external id specified, we have other way like using Link() to link test suite and testcase but that is not an option here)
Any info would be highly appreciated.
cfg file is like below:
====
testsuite.dc:title=C1
testsuite.dc:description=A4
testsuite.XLSLink=testcase
testcase.XLSStartRow=7
//testcase.XLSArtifactID=B
testcase.dc:title=B
testcase.dc:description=E
testcase.jzalm:owner=C
testcase.Section("myns:com.ibm.rqm.planning.editor.section.testCaseDesign","RQM-KEY-TC-DESIGN-TITLE")=F
testcase.Section("myns:com.ibm.rqm.planning.editor.section.testCasePreCondition","RQM-KEY-TC-PRE-COND-TITLE")=K
testcase.Section("myns:com.ibm.rqm.planning.editor.section.testCasePostCondition","RQM-KEY-TC-POST-COND-TITLE")=L
===
If I commented out testcase.XLSArtifactID=B(don't want to use XLSArtifactID keyword reference to https://jazz.net/forum/questions/227848/rqm-excel-importer-tool-602-how-to-use-the-sample-file-testsuite-with-testcases-that-have-testscriptscfg-without-xlsartifactid)
then I will get
Error sending to server Testsuite_with_testcases_that_have_testscripts2_Sheet1_1.xml of type testsuite
It looks like "testsuite.XLSLink=testcase" requires "testcase.XLSArtifactID=B" to be spedified.
I am wondering why testsuite linking to testcases using XLSLink requires XLSArtifactID?
(I understand if we have external id specified, we have other way like using Link() to link test suite and testcase but that is not an option here)
Any info would be highly appreciated.
Accepted answer
I believe this is a defect, while I tested with RQM 6.0.2 and got the same result.
When the line "testcase.XLSArtifactID=B" is removed/commented out, the test cases are created with IDs generated automatically using the Excel file name as part of the ID itself. In this particular case, the first test case created this way is "TestSuite_with_TestCases_001_Acme_Hammers_1.xml". When the test suite is being created, it incorrectly references this test case as "../testcase/TestSuite_with_TestCases_001_Acme_Hammers_1" (note the missing ".xml"), hence the error.
It may be debatable whether the test case ID should contain ".xml" or not, but the key point here is the ID being generated and the one being referenced do not match.
So no, "testcase.XLSArtifactID=B" is not required, and the test suite should handle the automatic-generated ID properly.
When the line "testcase.XLSArtifactID=B" is removed/commented out, the test cases are created with IDs generated automatically using the Excel file name as part of the ID itself. In this particular case, the first test case created this way is "TestSuite_with_TestCases_001_Acme_Hammers_1.xml". When the test suite is being created, it incorrectly references this test case as "../testcase/TestSuite_with_TestCases_001_Acme_Hammers_1" (note the missing ".xml"), hence the error.
It may be debatable whether the test case ID should contain ".xml" or not, but the key point here is the ID being generated and the one being referenced do not match.
So no, "testcase.XLSArtifactID=B" is not required, and the test suite should handle the automatic-generated ID properly.