Да, определения шагов являются общими для функций:
"Определения шагов не связаны с конкретным файлом объекта или сценарием. Имя файла, класса или пакета определения шагане влияет на то, каким шагам корнишона он будет соответствовать. Единственное, что имеет значение, это выражение определения шага. "(Источник: документы )
На мой взгляд, это одно из главных преимуществ использования огурца.
На самом деле использование определений шагов с привязкой к объектам считается антишаблоном:
"Определения шагов с привязкой к объектам являются определениями шагов, которые нельзя повторно использовать в функциях или сценариях. Это можетпривести к взрыву определений шагов, дублированию кода и высоким затратам на обслуживание ».(Источник: документы )