Skip to content

Commit 3f38d66

Browse files
authored
Merge pull request #4 from qahive/auto-generate-test-result-columns
Auto generate test result columns
2 parents 654086a + 376ca81 commit 3f38d66

File tree

5 files changed

+33
-2
lines changed

5 files changed

+33
-2
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
*** Setting ***
2+
Library ExcelDataDriver
3+
4+
5+
*** Test Cases ***
6+
Add basic test result column
7+
${extra columns} = Create List [Status] [Log Message] [Screenshot] [Tags]
8+
Auto Insert Extra Columns ./test_data/BasicNonTestResultColumnsMultipleSheet.xlsx username ${extra columns}

Examples/test_data/BasicDemoData.xlsx

-7.22 KB
Binary file not shown.
Binary file not shown.

ExcelDataDriver/ExcelParser/ParserContext.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,13 @@ def parse(self, wb):
2929
test_data_rows = self.parser_strategy.parse_test_data_properties(ws, ws_column_indexs)
3030
ws_test_data_rows[ws.title] = test_data_rows
3131
print('Done validate reference data')
32-
3332
return ws_test_data_rows
33+
34+
def insert_extra_columns(self, wb, columns):
35+
for ws in list(wb):
36+
ws_column_indexs = self.parser_strategy.parsing_column_indexs(ws)
37+
for column in reversed(columns):
38+
if column in ws_column_indexs:
39+
continue
40+
ws.insert_cols(1)
41+
ws['A' + str(self.parser_strategy.start_row)] = column

ExcelDataDriver/__init__.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
from ExcelDataDriver.Config.CaptureScreenShotOption import CaptureScreenShotOption
4040

4141

42-
__version__ = '1.1.6'
42+
__version__ = '1.1.7'
4343

4444

4545
class ExcelDataDriver:
@@ -523,6 +523,21 @@ def save_report(self, newfile=None):
523523
"""
524524
self.excelTestDataService.save_report(newfile)
525525

526+
####################################################
527+
#
528+
# Insert selective columns
529+
#
530+
####################################################
531+
@keyword
532+
def auto_insert_extra_columns(self, filename, main_column_key, columns=[],
533+
custom_parser_module='ExcelDataDriver.ExcelParser.DefaultReferenceParserStrategy',
534+
custom_parser_class='DefaultReferenceParserStrategy'):
535+
reference_wb = OpenpyxlHelper.load_excel_file(filename)
536+
CustomExcelParser = getattr(importlib.import_module(custom_parser_module), custom_parser_class)
537+
parser_context = ParserContext(CustomExcelParser(main_column_key))
538+
parser_context.insert_extra_columns(reference_wb, columns)
539+
reference_wb.save(filename)
540+
526541
####################################################
527542
#
528543
# Load reference excel data

0 commit comments

Comments
 (0)