Спасибо всем за отзывы.
1) Я пытался подать на python дело, чтобы пользователь щелкнул вкладку в браузере. Может быть 2 сценария: A) пользователь уже вошел в систему, и он может сделать щелчок напрямую. Б) Ему может понадобиться сначала войти в систему, а затем щелкнуть эту вкладку. Если это был более поздний случай, я хочу вызвать код входа в систему, который определен где-то еще, используя этот вызов context.execute_steps ().
2) Вот мой код.
@given("make sure the user log-in")
def step_given_user_has_logged_in(context):
if context.holder.logged_in is True:
context.logger.info("user already login.")
return
else:
context.logger.info("user need to do login first.")
context.execute_steps(
"""
Given user is on the landing page
When he clicks the LOGIN button
And he provides the correct credential
And clicks the login button
Then he should be get into the extender main page
""".format(button="red")
)
context.holder.logged_in = True
return
на этот context.execute_steps () можно ссылаться по этой ссылке: https://behave.readthedocs.io/en/latest/api.html, и, когда я делаю предварительную фиксацию, мне выдаются такие сообщения:
testcase.py:29: error: Not all arguments converted during string formatting
Сейчас я только что понял, что могу обойтись, позвонив следующим образом:
context.execute_steps(
"""
Given user is on the landing page
When he clicks the LOGIN button
And he provides the correct credential
And clicks the login button
Then he should be get into the extender main page
""")
Он все еще работает для меня при входе в систему и обходит ошибку проверки перед фиксацией.
В моей среде я использую python 3.7, pre-commit версию 1.2.0, и он работал на Ubuntu 16.0.4