robotframework-robotlog2rqm 1.4.1__py3-none-any.whl → 1.4.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- RobotLog2RQM/CRQM.py +15 -9
- RobotLog2RQM/RobotLog2RQM.pdf +0 -0
- RobotLog2RQM/robotlog2rqm.py +9 -8
- RobotLog2RQM/version.py +2 -3
- {robotframework_robotlog2rqm-1.4.1.dist-info → robotframework_robotlog2rqm-1.4.2.dist-info}/METADATA +13 -20
- {robotframework_robotlog2rqm-1.4.1.dist-info → robotframework_robotlog2rqm-1.4.2.dist-info}/RECORD +10 -10
- {robotframework_robotlog2rqm-1.4.1.dist-info → robotframework_robotlog2rqm-1.4.2.dist-info}/WHEEL +1 -1
- {robotframework_robotlog2rqm-1.4.1.dist-info → robotframework_robotlog2rqm-1.4.2.dist-info}/LICENSE +0 -0
- {robotframework_robotlog2rqm-1.4.1.dist-info → robotframework_robotlog2rqm-1.4.2.dist-info}/entry_points.txt +0 -0
- {robotframework_robotlog2rqm-1.4.1.dist-info → robotframework_robotlog2rqm-1.4.2.dist-info}/top_level.txt +0 -0
RobotLog2RQM/CRQM.py
CHANGED
|
@@ -147,7 +147,7 @@ Resource type mapping:
|
|
|
147
147
|
"testresult" : "Execution result: {testcase}",
|
|
148
148
|
"testsuite" : "{testsuite}",
|
|
149
149
|
"tser" : "TSER: {testsuite}",
|
|
150
|
-
"suiteresult" : "Testsuite result: {testsuite}"
|
|
150
|
+
"suiteresult" : "Testsuite result: {testsuite}"
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
def __init__(self, user, password, project, host):
|
|
@@ -309,7 +309,7 @@ Disconnect from RQM.
|
|
|
309
309
|
self.session.close()
|
|
310
310
|
|
|
311
311
|
def config(self, plan_id, build_name=None, config_name=None,
|
|
312
|
-
createmissing=False, updatetestcase=False, suite_id=None,
|
|
312
|
+
createmissing=False, updatetestcase=False, suite_id=None,
|
|
313
313
|
stream=None, baseline=None, naming_convention=None):
|
|
314
314
|
"""
|
|
315
315
|
Configure RQMClient with testplan ID, build, configuration, createmissing, ...
|
|
@@ -371,7 +371,7 @@ Configure RQMClient with testplan ID, build, configuration, createmissing, ...
|
|
|
371
371
|
self.updatetestcase = updatetestcase
|
|
372
372
|
self.testplan.id = plan_id
|
|
373
373
|
self.testsuite.id = suite_id
|
|
374
|
-
|
|
374
|
+
|
|
375
375
|
# Add Configuration-Context header information due to given stream or baseline
|
|
376
376
|
if stream:
|
|
377
377
|
res = self.getAllByResource('stream')
|
|
@@ -386,7 +386,7 @@ Configure RQMClient with testplan ID, build, configuration, createmissing, ...
|
|
|
386
386
|
self.headers['Configuration-Context'] = stream_id
|
|
387
387
|
self.session.headers = self.headers
|
|
388
388
|
break
|
|
389
|
-
|
|
389
|
+
|
|
390
390
|
if not bFoundStream:
|
|
391
391
|
raise Exception(f"Cannot found given stream '{stream}'")
|
|
392
392
|
else:
|
|
@@ -404,7 +404,7 @@ Configure RQMClient with testplan ID, build, configuration, createmissing, ...
|
|
|
404
404
|
self.headers['Configuration-Context'] = baseline_id
|
|
405
405
|
self.session.headers = self.headers
|
|
406
406
|
break
|
|
407
|
-
|
|
407
|
+
|
|
408
408
|
if not bFoundBaseline:
|
|
409
409
|
raise Exception(f"Cannot found given baseline '{baseline}'")
|
|
410
410
|
else:
|
|
@@ -454,7 +454,7 @@ Configure RQMClient with testplan ID, build, configuration, createmissing, ...
|
|
|
454
454
|
|
|
455
455
|
# get all team-areas for testcase template
|
|
456
456
|
self.getAllTeamAreas()
|
|
457
|
-
|
|
457
|
+
|
|
458
458
|
|
|
459
459
|
except Exception as error:
|
|
460
460
|
raise Exception('Configure RQMClient failed: %s'%error)
|
|
@@ -1096,7 +1096,7 @@ Return testcase execution record template from provided information.
|
|
|
1096
1096
|
nsmap = root.nsmap
|
|
1097
1097
|
# prepare required data for template
|
|
1098
1098
|
TCERTittle = self.__genResourceName('tcer', testcaseName)
|
|
1099
|
-
|
|
1099
|
+
|
|
1100
1100
|
|
|
1101
1101
|
# Check tcid is internalid or externalid
|
|
1102
1102
|
testcaseURL = self.integrationURL('testcase', testcaseID)
|
|
@@ -1462,7 +1462,7 @@ Return testsuite execution record (TSER) template from provided configuration na
|
|
|
1462
1462
|
|
|
1463
1463
|
def createTestsuiteResultTemplate(self, testsuiteID, testsuiteName, TSERID,
|
|
1464
1464
|
lTCER, lTCResults, resultState, startTime='',
|
|
1465
|
-
endTime='', duration='', sOwnerID=''):
|
|
1465
|
+
endTime='', duration='', sOwnerID='', buildrecordID=''):
|
|
1466
1466
|
"""
|
|
1467
1467
|
Return testsuite execution result template from provided configuration name.
|
|
1468
1468
|
|
|
@@ -1581,7 +1581,7 @@ Return testsuite execution result template from provided configuration name.
|
|
|
1581
1581
|
oState.text = prefixState + 'inconclusive'
|
|
1582
1582
|
if resultState.lower() in self.RESULT_STATES:
|
|
1583
1583
|
oState.text = prefixState +resultState.lower()
|
|
1584
|
-
|
|
1584
|
+
|
|
1585
1585
|
for idx, sTCER in enumerate(lTCER):
|
|
1586
1586
|
sTCERURL = self.integrationURL('executionworkitem', sTCER)
|
|
1587
1587
|
oSuiteElem = etree.Element('{http://jazz.net/xmlns/alm/qm/v0.1/tsl/v0.1/}suiteelement', nsmap=nsmap)
|
|
@@ -1599,6 +1599,12 @@ Return testsuite execution result template from provided configuration name.
|
|
|
1599
1599
|
oExecutionResult.set('href', sTCResultURL)
|
|
1600
1600
|
root.append(oExecutionResult)
|
|
1601
1601
|
|
|
1602
|
+
if buildrecordID:
|
|
1603
|
+
oBuildRecord = etree.Element('{http://jazz.net/xmlns/alm/qm/v0.1/}buildrecord', nsmap=nsmap)
|
|
1604
|
+
buildrecordURL = self.integrationURL('buildrecord', buildrecordID)
|
|
1605
|
+
oBuildRecord.set('href', buildrecordURL)
|
|
1606
|
+
root.append(oBuildRecord)
|
|
1607
|
+
|
|
1602
1608
|
# return xml template as string
|
|
1603
1609
|
sTSResultxml = etree.tostring(oTree)
|
|
1604
1610
|
return sTSResultxml
|
RobotLog2RQM/RobotLog2RQM.pdf
CHANGED
|
Binary file
|
RobotLog2RQM/robotlog2rqm.py
CHANGED
|
@@ -319,7 +319,7 @@ Parse and validate content of configuration file
|
|
|
319
319
|
fatal_error=True)
|
|
320
320
|
|
|
321
321
|
if not is_valid_config(dConfig, bExitOnFail=False):
|
|
322
|
-
Logger.log_error(f"Error in naming configuration file '{path_file}'.",
|
|
322
|
+
Logger.log_error(f"Error in naming configuration file '{path_file}'.",
|
|
323
323
|
fatal_error=True)
|
|
324
324
|
return dConfig
|
|
325
325
|
|
|
@@ -441,7 +441,7 @@ Avalable arguments in command line:
|
|
|
441
441
|
cmdParser.add_argument('password', type=str, help='password for RQM login.')
|
|
442
442
|
cmdParser.add_argument('testplan', type=str,
|
|
443
443
|
help='testplan ID for this execution.')
|
|
444
|
-
cmdParser.add_argument('--testsuite', type=str,
|
|
444
|
+
cmdParser.add_argument('--testsuite', type=str,
|
|
445
445
|
help="testsuite ID for this execution. If 'new', then create a new testsuite for this execution.")
|
|
446
446
|
cmdParser.add_argument('--recursive',action="store_true",
|
|
447
447
|
help='if set, then the path is searched recursively for log files to be imported.')
|
|
@@ -744,7 +744,7 @@ Process robot test for importing to RQM.
|
|
|
744
744
|
# Append lTestcaseIDs (for linking testplan/testsuite)
|
|
745
745
|
if _tc_id not in RQMClient.lTestcaseIDs:
|
|
746
746
|
RQMClient.lTestcaseIDs.append(_tc_id)
|
|
747
|
-
|
|
747
|
+
|
|
748
748
|
# Collect starttime and endtime for testsuite log creation
|
|
749
749
|
RQMClient.lStartTimes.append(_tc_start_time)
|
|
750
750
|
RQMClient.lEndTimes.append(_tc_end_time)
|
|
@@ -844,7 +844,7 @@ Flow to import Robot results to RQM:
|
|
|
844
844
|
Logger.log()
|
|
845
845
|
Logger.log(f"Login RQM as user '{args.user}' successfully!")
|
|
846
846
|
else:
|
|
847
|
-
Logger.log_error("Could not login to RQM: '
|
|
847
|
+
Logger.log_error("Could not login to RQM: 'Unknown reason'.")
|
|
848
848
|
except Exception as reason:
|
|
849
849
|
Logger.log_error(f"Could not login to RQM: '{str(reason)}'.")
|
|
850
850
|
|
|
@@ -860,7 +860,7 @@ Flow to import Robot results to RQM:
|
|
|
860
860
|
metadata_info['version_sw'] = None
|
|
861
861
|
metadata_info['project'] = None
|
|
862
862
|
RQMClient.config(args.testplan, metadata_info['version_sw'],
|
|
863
|
-
metadata_info['project'], args.createmissing, args.updatetestcase,
|
|
863
|
+
metadata_info['project'], args.createmissing, args.updatetestcase,
|
|
864
864
|
args.testsuite, stream=args.stream, baseline=args.baseline,
|
|
865
865
|
naming_convention=dNamingConvention)
|
|
866
866
|
|
|
@@ -906,10 +906,11 @@ Flow to import Robot results to RQM:
|
|
|
906
906
|
sTSERID,
|
|
907
907
|
RQMClient.lTCERIDs,
|
|
908
908
|
RQMClient.lTCResultIDs,
|
|
909
|
-
DRESULT_MAPPING[result.suite.status]
|
|
909
|
+
DRESULT_MAPPING[result.suite.status],
|
|
910
|
+
buildrecordID=RQMClient.build.id
|
|
910
911
|
)
|
|
911
912
|
res_TSLog = RQMClient.createResource('testsuitelog', testsuite_result_data)
|
|
912
|
-
sSuiteResultID = res_TSLog['id']
|
|
913
|
+
sSuiteResultID = res_TSLog['id']
|
|
913
914
|
if res_TSLog['success']:
|
|
914
915
|
Logger.log(f"Created testsuite result with id {sSuiteResultID} successfully.", indent=2)
|
|
915
916
|
else:
|
|
@@ -939,7 +940,7 @@ Flow to import Robot results to RQM:
|
|
|
939
940
|
Logger.log(f"Link all imported test cases with testplan {args.testplan} successfully.")
|
|
940
941
|
except Exception as reason:
|
|
941
942
|
Logger.log_error(f"Link all imported test cases with testplan failed.\nReason: {reason}", fatal_error=True)
|
|
942
|
-
|
|
943
|
+
|
|
943
944
|
# Update testcase(s) with generated ID(s)
|
|
944
945
|
# Under developing
|
|
945
946
|
|
RobotLog2RQM/version.py
CHANGED
{robotframework_robotlog2rqm-1.4.1.dist-info → robotframework_robotlog2rqm-1.4.2.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: robotframework-robotlog2rqm
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.2
|
|
4
4
|
Summary: Imports robot result(s) to IBM Rational Quality Manager (RQM)
|
|
5
5
|
Home-page: https://github.com/test-fullautomation/robotframework-robotlog2rqm
|
|
6
6
|
Author: Tran Duy Ngoan
|
|
@@ -21,8 +21,7 @@ Requires-Dist: requests
|
|
|
21
21
|
Requires-Dist: colorama
|
|
22
22
|
Requires-Dist: robotframework
|
|
23
23
|
|
|
24
|
-
RobotLog2RQM Description
|
|
25
|
-
========================
|
|
24
|
+
# RobotLog2RQM Description
|
|
26
25
|
|
|
27
26
|
The Python package **RobotLog2RQM** provides ability to import [Robot
|
|
28
27
|
Framework test
|
|
@@ -42,14 +41,13 @@ Manager](https://www.ibm.com/support/knowledgecenter/SSYMRC_6.0.2/com.ibm.ration
|
|
|
42
41
|
**RobotLog2RQM** tool is operating system independent and only works
|
|
43
42
|
with Python 3.
|
|
44
43
|
|
|
45
|
-
How to install
|
|
46
|
-
--------------
|
|
44
|
+
## How to install
|
|
47
45
|
|
|
48
46
|
**RobotLog2RQM** can be installed in two different ways.
|
|
49
47
|
|
|
50
48
|
1. Installation via PyPi (recommended for users)
|
|
51
49
|
|
|
52
|
-
```
|
|
50
|
+
```
|
|
53
51
|
pip install RobotLog2RQM
|
|
54
52
|
```
|
|
55
53
|
|
|
@@ -61,7 +59,7 @@ How to install
|
|
|
61
59
|
- Clone the **robotframework-robotlog2rqm** repository to your
|
|
62
60
|
machine.
|
|
63
61
|
|
|
64
|
-
```
|
|
62
|
+
```
|
|
65
63
|
git clone https://github.com/test-fullautomation/robotframework-robotlog2rqm.git
|
|
66
64
|
```
|
|
67
65
|
|
|
@@ -76,7 +74,7 @@ How to install
|
|
|
76
74
|
packages you can find in the file `requirements.txt` in the
|
|
77
75
|
repository root folder. Use pip to install them:
|
|
78
76
|
|
|
79
|
-
```
|
|
77
|
+
```
|
|
80
78
|
pip install -r ./requirements.txt
|
|
81
79
|
```
|
|
82
80
|
|
|
@@ -95,7 +93,7 @@ How to install
|
|
|
95
93
|
to find **LaTeX**. This is defined in the **GenPackageDoc**
|
|
96
94
|
configuration file
|
|
97
95
|
|
|
98
|
-
```
|
|
96
|
+
```
|
|
99
97
|
packagedoc\packagedoc_config.json
|
|
100
98
|
```
|
|
101
99
|
|
|
@@ -107,7 +105,7 @@ How to install
|
|
|
107
105
|
|
|
108
106
|
- Use the following command to install **RobotLog2RQM**:
|
|
109
107
|
|
|
110
|
-
```
|
|
108
|
+
```
|
|
111
109
|
python setup.py install
|
|
112
110
|
```
|
|
113
111
|
|
|
@@ -118,8 +116,7 @@ be available (under *Scripts* folder of Python on Windows and
|
|
|
118
116
|
In case above location is added to **PATH** environment variable then
|
|
119
117
|
you can run it directly as operation system\'s command.
|
|
120
118
|
|
|
121
|
-
How to use
|
|
122
|
-
----------
|
|
119
|
+
## How to use
|
|
123
120
|
|
|
124
121
|
**RobotLog2RQM** tool requires the Robot Framework `output.xml` result
|
|
125
122
|
file(s) which will be imported, RQM information(e.g. host url, project,
|
|
@@ -223,8 +220,7 @@ cases and their results are reflected on RQM, please refer to
|
|
|
223
220
|
[RobotLog2RQM tool's
|
|
224
221
|
Documentation](https://github.com/test-fullautomation/robotframework-robotlog2rqm/blob/develop/RobotLog2RQM/RobotLog2RQM.pdf).
|
|
225
222
|
|
|
226
|
-
Feedback
|
|
227
|
-
--------
|
|
223
|
+
## Feedback
|
|
228
224
|
|
|
229
225
|
To give us a feedback, you can send an email to [Thomas
|
|
230
226
|
Pollerspöck](mailto:Thomas.Pollerspoeck@de.bosch.com).
|
|
@@ -232,15 +228,13 @@ Pollerspöck](mailto:Thomas.Pollerspoeck@de.bosch.com).
|
|
|
232
228
|
In case you want to report a bug or request any interesting feature,
|
|
233
229
|
please don\'t hesitate to raise a ticket.
|
|
234
230
|
|
|
235
|
-
Maintainers
|
|
236
|
-
-----------
|
|
231
|
+
## Maintainers
|
|
237
232
|
|
|
238
233
|
[Thomas Pollerspöck](mailto:Thomas.Pollerspoeck@de.bosch.com)
|
|
239
234
|
|
|
240
235
|
[Tran Duy Ngoan](mailto:Ngoan.TranDuy@vn.bosch.com)
|
|
241
236
|
|
|
242
|
-
Contributors
|
|
243
|
-
------------
|
|
237
|
+
## Contributors
|
|
244
238
|
|
|
245
239
|
[Nguyen Huynh Tri Cuong](mailto:Cuong.NguyenHuynhTri@vn.bosch.com)
|
|
246
240
|
|
|
@@ -250,8 +244,7 @@ Contributors
|
|
|
250
244
|
|
|
251
245
|
[Holger Queckenstedt](mailto:Holger.Queckenstedt@de.bosch.com)
|
|
252
246
|
|
|
253
|
-
License
|
|
254
|
-
-------
|
|
247
|
+
## License
|
|
255
248
|
|
|
256
249
|
Copyright 2020-2024 Robert Bosch GmbH
|
|
257
250
|
|
{robotframework_robotlog2rqm-1.4.1.dist-info → robotframework_robotlog2rqm-1.4.2.dist-info}/RECORD
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
RobotLog2RQM/CRQM.py,sha256=
|
|
2
|
-
RobotLog2RQM/RobotLog2RQM.pdf,sha256=
|
|
1
|
+
RobotLog2RQM/CRQM.py,sha256=sL7IsFOhzRVvV2n_g2PFDjL3Ej8YChUl3PDTv3LCIN0,64363
|
|
2
|
+
RobotLog2RQM/RobotLog2RQM.pdf,sha256=utfSCdhRtw6mtljc-WMaG4GqRn7yggyZNcOeCota40Y,337295
|
|
3
3
|
RobotLog2RQM/__init__.py,sha256=YKDTJjDsnQkr5X-gjjO8opwKUVKm6kc8sIUpURYMk48,596
|
|
4
4
|
RobotLog2RQM/__main__.py,sha256=JabttEncy80antJWeGVmjoXyiF1DyXxkxdW4xLuHzT0,681
|
|
5
|
-
RobotLog2RQM/robotlog2rqm.py,sha256=
|
|
6
|
-
RobotLog2RQM/version.py,sha256=
|
|
5
|
+
RobotLog2RQM/robotlog2rqm.py,sha256=Q35lrrDDv3skXJO6IH9hRRoU0Ua0kSKOuBdpNeF_v5s,33531
|
|
6
|
+
RobotLog2RQM/version.py,sha256=XS3UlCLUKUcaTFjKhJ6Pj4bN04WACmWEz7cmWTadZ1A,916
|
|
7
7
|
RobotLog2RQM/RQM_templates/buildrecord.xml,sha256=uGot7pNOjPR8do0JsJi0Lz3OCU9NMhODRd428QgvHh4,1498
|
|
8
8
|
RobotLog2RQM/RQM_templates/configuration.xml,sha256=NrFDv51fuGhgeMiZuRhQ5q_UJ0u_pWzdxisIF5AJs74,1378
|
|
9
9
|
RobotLog2RQM/RQM_templates/executionresult.xml,sha256=WTp4qDk29peBc0ll6GHVXX_kF_YBsOVjy9vBzoz7_2k,2160
|
|
@@ -12,9 +12,9 @@ RobotLog2RQM/RQM_templates/suiteexecutionrecord.xml,sha256=9GAs2WqZMkFJSNEZULm9B
|
|
|
12
12
|
RobotLog2RQM/RQM_templates/testcase.xml,sha256=zovFKj-37QHn2S8mMA_9RnAJ3zBmDJkJj31yelsnFFI,2167
|
|
13
13
|
RobotLog2RQM/RQM_templates/testsuite.xml,sha256=r2ijEsyPoE7qzCtUxgIHDOEcqUveDN4SMf9HSE9b0ZU,1326
|
|
14
14
|
RobotLog2RQM/RQM_templates/testsuitelog.xml,sha256=l-NlaCyk6Ben76PElXKOHfMlEvyQ-e9MOZ6-F9HvwDQ,1920
|
|
15
|
-
robotframework_robotlog2rqm-1.4.
|
|
16
|
-
robotframework_robotlog2rqm-1.4.
|
|
17
|
-
robotframework_robotlog2rqm-1.4.
|
|
18
|
-
robotframework_robotlog2rqm-1.4.
|
|
19
|
-
robotframework_robotlog2rqm-1.4.
|
|
20
|
-
robotframework_robotlog2rqm-1.4.
|
|
15
|
+
robotframework_robotlog2rqm-1.4.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
16
|
+
robotframework_robotlog2rqm-1.4.2.dist-info/METADATA,sha256=JEeig_C3ceOdSoP9UauelzVEHm6l6S7gvd8S6Us8zO4,9863
|
|
17
|
+
robotframework_robotlog2rqm-1.4.2.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
18
|
+
robotframework_robotlog2rqm-1.4.2.dist-info/entry_points.txt,sha256=-Xug2kDJW2LtcSADEVPtCwa337twCy2iGh5aK7xApHA,73
|
|
19
|
+
robotframework_robotlog2rqm-1.4.2.dist-info/top_level.txt,sha256=jb_Gt6W44FoOLtGfBe7RzqCLaquhihkEWvSI1zjXDHc,13
|
|
20
|
+
robotframework_robotlog2rqm-1.4.2.dist-info/RECORD,,
|
{robotframework_robotlog2rqm-1.4.1.dist-info → robotframework_robotlog2rqm-1.4.2.dist-info}/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|