behat 步骤“我应该看到"没有看到 [英] behat step "I should see" does not see
问题描述
在 Yii 框架中使用 Behat,我观察到它非常奇怪的行为:当使用像
Using Behat in Yii framework, I am observing its quite strange behaviour: Behat does not find some text when using steps like
Then I should see "some text"
它找到了一些正常的文本,但有些 - 不是.为了确保我在我认为我所在的页面上,我在视图文件中添加了一些标记,Behat 可以看到它们.
Some text it finds normaly, but some - not. To be sure that I am on the page I think I am on, I've added sort of markers in the view files and Behat sees them.
所以,场景是
Scenario: editing journal
Given the following journals are present:
| name | link | description |
| Murzilka | http://www.murz.com | advanced child journal|
| Nature | www nature com | nice journal |
When I am on edit page for journal "Nature"
Then I should see "Update Nature"
Then I should see "nice journal"
Then I should see "1qazxsw2" <-- a marker
Then I should see "2wsxcde3" <-- a marker
Then I should see "www nature com"
输出就是
Scenario: editing journal
# featuresjournal.feature:21
Given the following journals are present:
# FeatureContext::theFollowingJournalsArePresent()
| name | link | description |
| Murzilka | http://www.murz.com | advanced child journal |
| Nature | www nature com | nice journal |
When I am on edit page for journal "Nature"
# FeatureContext::iAmOnEditPageForJournal()
Then I should see "Update Nature"
# FeatureContext::assertPageContainsText()
Then I should see "nice journal"
# FeatureContext::assertPageContainsText()
Then I should see "1qazxsw2"
# FeatureContext::assertPageContainsText()
Then I should see "2wsxcde3"
# FeatureContext::assertPageContainsText()
Then I should see "www nature com"
# FeatureContext::assertPageContainsText()
The text "www nature com" was not found anywhere in the text of the current page.
奇怪的是,如果我转到页面(在测试环境中),我会看到所有这些短语,包括www nature com".
The strange is that if I go to the page (in test environment), I see all those phrases including "www nature com".
推荐答案
当然后我应该看到..."步骤引用输入字段中的文本时,问题偶尔会出现.我发现为此目的有一个预定义的步骤
The problem sporadically appears when the step "Then I should see ..." refers to the text in an input field. I've found out that for this purpose there is a predefined step
Then /^the "(?P<field>(?:[^"]|\")*)" field should contain "(?P<value>(?:[^"]|\")*)"$/
- Checks, that form field with specified id|name|label|value has specified value.
# FeatureContext::assertFieldContains()
应该像这样使用:
Then the "journal[name]" field should contain "nice journal"
通过此修改,Behat 会找到所有短语.
With this modification, Behat finds all phrases.
这篇关于behat 步骤“我应该看到"没有看到的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!