Can we pass dynamic value using excel import untily for RQM
The RQM Excel import utility uses "XLSArtifactID" to assign an external id to imported artifact. the sample configuration files map this attribute to a column containing artifact title.
If we try to upload multiple test cases with the same name then it will update the existing test case as both their external id become same (title of the test case).
If we do not map "XLSArtifactID" to any field then it assign it based on the name of the Workbook it's sheet and a counter. The problem with this is that if different test cases imported using the same excel file name and sheet name then the old one will get updated with the new one.
It turns out that both the options are not very safe and a little bit thought should have been given while designing the Excel Import plugin.
Now one of the workaround I can think of is pass a dynamic value as external ID, may be a combination of current date and time (including millisecond) to avoid any possible matching in external id between two artifact. My question is can we pass a function in a confuguration file for example:
testscript.XLSArtifactID= Date() & Time()
If we try to upload multiple test cases with the same name then it will update the existing test case as both their external id become same (title of the test case).
If we do not map "XLSArtifactID" to any field then it assign it based on the name of the Workbook it's sheet and a counter. The problem with this is that if different test cases imported using the same excel file name and sheet name then the old one will get updated with the new one.
It turns out that both the options are not very safe and a little bit thought should have been given while designing the Excel Import plugin.
Now one of the workaround I can think of is pass a dynamic value as external ID, may be a combination of current date and time (including millisecond) to avoid any possible matching in external id between two artifact. My question is can we pass a function in a confuguration file for example:
testscript.XLSArtifactID= Date() & Time()
One answer
I don't think so, but why don't you just create the unique ID in the Excel sheet? Let's say, if you set the B column as Date()&Time(), you can simply set testscript.XMLSArtifactID=B in the configuration file. Date()&Time() can to "too dynamic" for your liking as it changes every time you open the Excel sheet. So you may want to make it static somehow. If you Google "Excel create unique ID" or "Excel generate unique ID", you will see lots of discussions about this topic.
Comments
This won't work for the excel sheet having multiple test cases as every test case will get the same unique ID from col B of the sheet and basically updating each other in the order of the upload.
Having the unique id created at the time of upload for each instance of test is the only well proof solution.
Well, it's up to you. You don't have to set it in column B. You can make it into whatever the cell you like, and make it unique across the sheet. For example, you can even combine the testcase ID/name to make it "more unique". :-)