@@ -599,6 +599,7 @@ def _get_code_ref(self, item: Item) -> str:
599599
600600 def _get_test_case_id (self , mark , leaf : Dict [str , Any ]) -> str :
601601 parameters : Optional [Dict [str , Any ]] = leaf .get ("parameters" , None )
602+ parameters_indices : Optional [Dict [str , Any ]] = leaf .get ("parameters_indices" , None )
602603 parameterized = True
603604 selected_params : Optional [List [str ]] = None
604605 if mark is not None :
@@ -611,6 +612,8 @@ def _get_test_case_id(self, mark, leaf: Dict[str, Any]) -> str:
611612 if parameterized and parameters is not None and len (parameters ) > 0 :
612613 if selected_params is not None and len (selected_params ) > 0 :
613614 param_list = [str (parameters .get (param , None )) for param in selected_params ]
615+ elif self ._config .rp_ignore_param_val :
616+ param_list = [str (param ) for param in parameters_indices .items ()]
614617 else :
615618 param_list = [str (param ) for param in parameters .values ()]
616619 param_str = "[{}]" .format ("," .join (sorted (param_list )))
@@ -729,6 +732,19 @@ def _get_parameters(self, item) -> Optional[Dict[str, Any]]:
729732 return None
730733 return {str (k ): v .replace ("\0 " , "\\ 0" ) if isinstance (v , str ) else v for k , v in params .items ()}
731734
735+ def _get_parameters_indices (self , item ) -> Optional [Dict [str , Any ]]:
736+ """
737+ Get params indices of item.
738+
739+ :param item: Pytest.Item
740+ :return: dict of params indices
741+ """
742+ indices = item .callspec .indices if hasattr (item , "callspec" ) else None
743+ if not indices :
744+ return None
745+
746+ return indices
747+
732748 def _process_test_case_id (self , leaf : Dict [str , Any ]) -> str :
733749 """
734750 Process Test Case ID if set.
@@ -793,6 +809,7 @@ def _process_metadata_item_start(self, leaf: Dict[str, Any]) -> None:
793809 leaf ["name" ] = self ._process_item_name (leaf )
794810 leaf ["description" ] = self ._get_item_description (item )
795811 leaf ["parameters" ] = self ._get_parameters (item )
812+ leaf ["parameters_indices" ] = self ._get_parameters_indices (item )
796813 leaf ["code_ref" ] = self ._get_code_ref (item )
797814 leaf ["test_case_id" ] = self ._process_test_case_id (leaf )
798815 leaf ["issue" ] = self ._process_issue (item )
0 commit comments