Я новичок, пытающийся изучить Codeception с Selenium WebServer и столкнулся с проблемой, на которую я не могу найти ответа. Я пишу супер базовый тест, который гарантирует, что данные, переданные в a из index.php, одинаковы на другой странице, toupper.php.Первые испытания проходят во время второго теста (с теми же данными) fail Selenium with Codeception
Это мой index.php:
<?php $something = "Can you see me?"; ?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Convert Me!</title>
</head>
<body>
<h1>Convert Me!</h1>
<p>
<?php echo $something; ?>
</p>
<form action="toupper.php" method="post" id="post_form">
<label for="string">Convert to Uppercase:</label>
<input type="text" name="my_string" id="string">
<input id="submit" type="submit" name="submitButton" value="Convert">
</form>
</body>
</html>
Это мой toupper.php:
<?php
$message = (!empty($_POST['my_string'])) ? strtoupper($_POST['my_string']) : "No string entered";
?>
<!DOCTYPE html>
<html>
<head>
<title>To Upper!</title>
</head>
<body>
<h1>To Upper!</h1>
<p class="message"><?php echo $message; ?></p>
<p><a href="index.php">Back to form</a>.</p>
</body>
</html>
Я создал простые Тесты:
<?php
$I = new AcceptanceTester($scenario);
$I->wantTo('ensure Toupper form works');
$I->amOnPage('index.php');
$I->see('Can you see me?');
$I->fillField('my_string', 'convert me to uppercase');
$I->click('Convert');
$I->amOnSubdomain('toupper.php');
$I->see('CONVERT ME TO UPPERCASE');
Теперь, когда Я запускаю тест, проходит тест, но когда я снова запускаю точный тест с теми же данными, он терпит неудачу. И я не использую базу данных.
Это ошибка, я получаю:
Scenario --
I am on page "index.php"
I see "Can you see me?"
I fill field "my_string","convert me to uppercase"
I click "Convert"
I am on subdomain "toupper.php"
I see "CONVERT ME TO UPPERCASE"
FAIL
--------------------------------------------------------------
Time: 2.59 seconds, Memory: 8.00MB
There was 1 failure:
---------
1) ToupperCept: Ensure toupper form works
Test tests/acceptance/ToupperCept.php
Step See "CONVERT ME TO UPPERCASE"
Fail Failed asserting that /toupper.php
-->
--> contains "convert me to uppercase".
Scenario Steps:
6. $I->see("CONVERT ME TO UPPERCASE")
5. $I->amOnSubdomain("toupper.php")
4. $I->click("Convert")
3. $I->fillField("my_string","convert me to uppercase")
2. $I->see("Can you see me?")
1. $I->amOnPage("index.php")
FAILURES!
Tests: 1, Assertions: 2, Failures: 1.
Может кто-то мне точку в правильном направлении, о том, как решить эту проблему? Я ценю это!
UPDATE
После возни с тестом, что, когда я пишу утверждение ищет текст в верхний регистр на toupper.php, EX) $ I-> см ('Something'); , тест не выполняется. Кажется, что если в какой-то момент тест завершится неудачно, все остальные утверждения потерпят неудачу. Даже когда я комментирую неудавшееся утверждение, все предыдущее утверждение не срабатывает при повторном тестировании. Так запутался!!
UPDATE2
Извините за несколько обновлений, но возни немного больше, я переключился браузеры для WebDriver от светлячок хрому. Все мои тесты проходят безупречно каждый раз. Странно, что есть только проблемы с firefox.
Вам не нужно amOnSubdomain. – Naktibalda
@Naktibalda, я прокомментировал amOnSubdomain, но тест все еще не удается. – JPerkins