Как ни странно, насколько я понимаю, вы используете это правильно .В природе Protractor характерно то, что все действия браузера обертываются обещаниями (которые требуют ожидания), а затем в объектной модели страницы все функции, которые мы объявляем в наших объектах страницы (которые часто содержат действия браузера), также будут требовать ожидания.У нас много ожиданий от одного и того же действия.
Я на самом деле задал похожий вопрос не так давно, я не уверен, достаточно ли похожи эти вопросы, чтобы пометить их какдубликаты, поэтому я не буду помечать его сейчас.
С точки зрения передового опыта, я думаю, что подход, который вы используете, подходит.