Skip to content

Commit 06b1b06

Browse files
committed
Init auto insert extra columns
1 parent 654086a commit 06b1b06

File tree

4 files changed

+32
-1
lines changed

4 files changed

+32
-1
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 [Status2] [Log Message2] [Screenshot2] [Tags2]
8+
auto_insert_extra_columns ./test_data/BasicDemoData.xlsx username ${extra columns}
12.7 KB
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: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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('./test_data/BasicDemoData2.xlsx')
540+
526541
####################################################
527542
#
528543
# Load reference excel data

0 commit comments

Comments
 (0)