私は現在、なぜこれが起こっているのか途方に暮れていますが、どちらかが間違っていたり、小さなものを見逃していたりしても驚かないでしょう.
これが私のコードです:
(function() {
if (jQuery('section.news-feed ul li').text().length > 0) {
var length1 = parseInt(jQuery('section.news-feed ul li').text().length);
var length2 = 0;
setTimeout(function() {
length2 = parseInt(jQuery('section.news-feed ul li').text().length);
if (length1 !== length2) {
return true;
}
else {
return false;
}
}, 3000);
}
else {
return false;
}
})()
ブール値の戻り値を探していますが、「未定義」を受け取りました。jQuery 固有のセレクターは正しく、length1 と length2 が正しく見つかりました。
Behat / Mink / Sahiの経験を持つ人がいる場合の質問にさらに追加するには、これが私がやろうとしていることです:
ビート:
@javascript
Scenario: News ticker is moving
Given I am on the homepage
Then I should see the news ticker "section.news-feed ul li" move
環境:
/**
* @Then /^I should see the news ticker "([^"]*)" move$/
*/
public function iShouldSeeTheNewsTickerMove($element) {
$result = $this
->getSession()
->evaluateScript("
(function() {
if (jQuery('" . $element . "').text().length > 0) {
var length1 = parseInt(jQuery('" . $element . "').text().length);
var length2;
setTimeout(function() {
var length2 = parseInt(jQuery('" . $element . "').text().length);
if (length1 !== length2) {
return true;
}
else {
return false;
}
}, 3000);
}
else {
return false;
}
})()
");
echo "Result: " . $result;
if ($result === 'false') {
throw new Exception (
"The newws ticker doesn't seem to be ticking."
);
}
}