複数のキーワードに対して機能するステップを書く方法はありますか?複数のキーワード(例:Given、When、Then)に対応する振る舞いステップを定義します。
Scenario: Something happens after navigating
Given I navigate to "/"
And say some cookie gets set
When I navigate to "/some-other-page"
Then something happens because of that cookie
私は両方を定義することを避けるためにしようとしている:
@given('I navigate to "{uri}"')
def get(context, uri):
current_url = BASE_URL + uri
context.driver.get(current_url)
@when('I navigate to "{uri}"')
def get(context, uri):
current_url = BASE_URL + uri
context.driver.get(current_url)
を一つだけを定義し、あなたの両方がraise NotImplementedError(u'STEP:
エラーが出るようにそれを使用しようとした場合と同様に、私の機能があると言います。上記の例では、ステップがシンプルであるために悪いことではありませんが、コードを繰り返すのが悪い習慣であるように思えますし、もっと複雑なもので同じことが起きる可能性もあります。 @allまたは@anyキーワード。
謝罪これはどこかで回答されているが、それはそれは質問
私はそのようなことをしていますが、あなたのステップファイルで2つの異なる関数としてGivenとThen(あなたの例では)を定義しないと、 "NotImplementedError(u'STEP:"エラーが発生します。これが2回行わなければ、あなたのステップ定義はどうなっていますか? – Cynic
私のために働いています。「Then」ステートメントの後ろに「And」ステートメントを書くと、2つの「Then」ステートメントとみなされます。 – user8021958