From e5d05404618ee0cd93d2e5e8106a32c6a616c492 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Fri, 12 May 2023 09:18:53 +0900 Subject: [PATCH 1/6] install fonts --- .github/workflows/e2e-test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index ec5f2741031..d8bdd141a05 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -82,6 +82,9 @@ jobs: - name: setup-chromedriver uses: nanasess/setup-chromedriver@master + - name: Install fonts + run: sudo apt install fonts-ipafont fonts-ipaexfont + - name: Run chromedriver run: | export DISPLAY=:99 From bdec97c97e6c00f38e8e2b91785779171a13c670 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Fri, 12 May 2023 17:49:11 +0900 Subject: [PATCH 2/6] wait 30sec --- codeception/_envs/github_action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/codeception/_envs/github_action.yml b/codeception/_envs/github_action.yml index 002f2fa3b03..e5ef371c5b9 100644 --- a/codeception/_envs/github_action.yml +++ b/codeception/_envs/github_action.yml @@ -8,6 +8,7 @@ modules: chromeOptions: prefs: download.default_directory: '%GITHUB_WORKSPACE%/codeception/_support/_downloads' + wait: 30 MailCatcher: url: '127.0.0.1' port: 1080 From 96281bda6ec4def9ffebbfebd7958d33a96f4324 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Tue, 16 May 2023 13:35:58 +0900 Subject: [PATCH 3/6] =?UTF-8?q?=E8=8B=B1=E6=95=B0=E5=AD=97=E3=81=9D?= =?UTF-8?q?=E3=82=8C=E3=81=9E=E3=82=8C1=E7=A8=AE=E9=A1=9E=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- codeception/acceptance/EF06OtherCest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codeception/acceptance/EF06OtherCest.php b/codeception/acceptance/EF06OtherCest.php index 9758cc823a4..ef7660f0d39 100644 --- a/codeception/acceptance/EF06OtherCest.php +++ b/codeception/acceptance/EF06OtherCest.php @@ -105,7 +105,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->amOnPage($url); $I->see('パスワード再発行(再設定)', 'div.ec-pageHeader h1'); - $password = substr(str_shuffle('1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, 20); + $password = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, 16).'1234'; // メルアド・新パスワード設定 $I->submitForm('#form1', [ From 3c2ecb738859adb4a890ac70d352127a121d0309 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Fri, 12 May 2023 11:59:15 +0900 Subject: [PATCH 4/6] wait for elements --- codeception/_support/AcceptanceTester.php | 1 + codeception/_support/Page/AbstractPage.php | 1 + .../_support/Page/Admin/AbstractAdminPage.php | 8 +- .../Page/Admin/MasterDataManagePage.php | 1 + .../_support/Page/Admin/ShippingEditPage.php | 3 +- codeception/_support/Page/Front/CartPage.php | 4 +- codeception/_support/Page/Front/MyPage.php | 2 +- .../_support/Page/Front/ProductListPage.php | 2 + .../_support/Page/Front/ShoppingPage.php | 2 + .../_support/Page/Install/InstallPage.php | 2 +- .../acceptance/EA06ContentsManagementCest.php | 85 +++++----- codeception/acceptance/EA07BasicinfoCest.php | 151 +++++++++--------- codeception/acceptance/EA08SysteminfoCest.php | 8 +- codeception/acceptance/EA09ShippingCest.php | 3 +- codeception/acceptance/EF06OtherCest.php | 48 +++--- codeception/acceptance/EF08InvoiceCest.php | 5 + 16 files changed, 177 insertions(+), 149 deletions(-) diff --git a/codeception/_support/AcceptanceTester.php b/codeception/_support/AcceptanceTester.php index 3624ea5d3ae..6def0e91c79 100644 --- a/codeception/_support/AcceptanceTester.php +++ b/codeception/_support/AcceptanceTester.php @@ -101,6 +101,7 @@ public function logoutAsMember() { $I = $this; $I->amOnPage('/'); + $I->waitForElement('.ec-headerNaviRole .ec-headerNav .ec-headerNav__item:nth-child(3) a'); $isLogin = $I->grabTextFrom('.ec-headerNaviRole .ec-headerNav .ec-headerNav__item:nth-child(3) a'); if ($isLogin == 'ログアウト') { $I->wait(1); diff --git a/codeception/_support/Page/AbstractPage.php b/codeception/_support/Page/AbstractPage.php index bfc334621cb..b5d73a6a3d0 100644 --- a/codeception/_support/Page/AbstractPage.php +++ b/codeception/_support/Page/AbstractPage.php @@ -36,6 +36,7 @@ public function __construct(\AcceptanceTester $I) protected function goPage($url, $pageTitle = '') { $this->tester->amOnPage($url); + $this->tester->waitForJS("return location.pathname + location.search == '${url}'", 30); return $this; } diff --git a/codeception/_support/Page/Admin/AbstractAdminPage.php b/codeception/_support/Page/Admin/AbstractAdminPage.php index a3b9009f3c0..b6e63fbf9d4 100644 --- a/codeception/_support/Page/Admin/AbstractAdminPage.php +++ b/codeception/_support/Page/Admin/AbstractAdminPage.php @@ -29,10 +29,14 @@ abstract class AbstractAdminPage extends AbstractPage protected function goPage($url, $pageTitle = '') { $config = Fixtures::get('config'); - $this->tester->amOnPage('/'.$config['eccube_admin_route'].$url); + $adminUrl = '/'.$config['eccube_admin_route'].$url; + $this->tester->amOnPage($adminUrl); if ($pageTitle) { return $this->atPage($pageTitle); + } else { + $this->tester->wait(5); + $this->tester->waitForJS("return location.pathname + location.search == '${adminUrl}'"); } return $this; @@ -47,7 +51,7 @@ protected function goPage($url, $pageTitle = '') */ protected function atPage($pageTitle) { - $this->tester->see($pageTitle, '.c-container .c-pageTitle__titles'); + $this->tester->waitForText($pageTitle, 10, '.c-container .c-pageTitle__titles'); return $this; } diff --git a/codeception/_support/Page/Admin/MasterDataManagePage.php b/codeception/_support/Page/Admin/MasterDataManagePage.php index 335d27d378f..1efd3e69cad 100644 --- a/codeception/_support/Page/Admin/MasterDataManagePage.php +++ b/codeception/_support/Page/Admin/MasterDataManagePage.php @@ -39,6 +39,7 @@ public function 選択($option) { $this->tester->selectOption(['id' => 'admin_system_masterdata_masterdata'], $option); $this->tester->click('#form1 button'); + $this->tester->waitForElement(['xpath' => "//select[@id='admin_system_masterdata_masterdata']/option[@selected][contains(text(), '${option}')]"]); return $this; } diff --git a/codeception/_support/Page/Admin/ShippingEditPage.php b/codeception/_support/Page/Admin/ShippingEditPage.php index 5d673ea6516..93df50a6943 100644 --- a/codeception/_support/Page/Admin/ShippingEditPage.php +++ b/codeception/_support/Page/Admin/ShippingEditPage.php @@ -173,7 +173,7 @@ public function 商品検索($value = '') { $this->tester->scrollTo(['css' => '#shipping-product_1 > div > button'], 0, -50); $this->tester->click(['css' => '#shipping-product_1 > div > button']); - $this->tester->waitForElementVisible(['id' => 'addProduct']); + $this->tester->waitForElementVisible(['id' => 'admin_search_product_id']); $this->tester->fillField(['id' => 'admin_search_product_id'], $value); $this->tester->click('#searchProductModalButton'); $this->tester->waitForElementVisible('#searchProductModalList table'); @@ -185,6 +185,7 @@ public function 商品検索結果_選択($rowNum) { $rowNum = $rowNum * 2; $this->tester->click("#searchProductModalList > table > tbody > tr:nth-child(${rowNum}) > td.align-middle.pe-3.text-end > button"); + $this->tester->waitForElementNotVisible('#searchProductModalList'); return $this; } diff --git a/codeception/_support/Page/Front/CartPage.php b/codeception/_support/Page/Front/CartPage.php index d24b7ad2736..64d14967767 100644 --- a/codeception/_support/Page/Front/CartPage.php +++ b/codeception/_support/Page/Front/CartPage.php @@ -45,7 +45,9 @@ public function 商品名($index) public function 商品数量($index) { - return $this->tester->grabTextFrom(['xpath' => "//div[@class='ec-cartRole']//ul[@class='ec-cartRow'][position()=${index}]//div[@class='ec-cartRow__amount']"]); + $selector = ['xpath' => "//div[@class='ec-cartRole']//ul[@class='ec-cartRow'][position()=${index}]//div[@class='ec-cartRow__amount']"]; + $this->tester->waitForElement($selector); + return $this->tester->grabTextFrom($selector); } public function 明細数() diff --git a/codeception/_support/Page/Front/MyPage.php b/codeception/_support/Page/Front/MyPage.php index 9dd9f5031a9..c2dc8fd974d 100644 --- a/codeception/_support/Page/Front/MyPage.php +++ b/codeception/_support/Page/Front/MyPage.php @@ -29,7 +29,7 @@ public function __construct(\AcceptanceTester $I) public static function go($I) { $page = new self($I); - $page->goPage('/mypage'); + $page->goPage('/mypage/'); return $page; } diff --git a/codeception/_support/Page/Front/ProductListPage.php b/codeception/_support/Page/Front/ProductListPage.php index 233d76d6a78..f9a5820e766 100644 --- a/codeception/_support/Page/Front/ProductListPage.php +++ b/codeception/_support/Page/Front/ProductListPage.php @@ -31,6 +31,7 @@ public function __construct(\AcceptanceTester $I) public function 表示件数設定($num) { $this->tester->selectOption(['css' => "select[name = 'disp_number']"], "${num}件"); + $this->tester->waitForElement(['css' => "select[name='disp_number'] > option[value='${num}'][selected]"]); return $this; } @@ -38,6 +39,7 @@ public function 表示件数設定($num) public function 表示順設定($sort) { $this->tester->selectOption(['css' => "select[name = 'orderby']"], $sort); + $this->tester->waitForElement(['xpath' => "//select[@name='orderby']/option[text()='${sort}']"]); return $this; } diff --git a/codeception/_support/Page/Front/ShoppingPage.php b/codeception/_support/Page/Front/ShoppingPage.php index e337d03d2df..3dac5703ab7 100644 --- a/codeception/_support/Page/Front/ShoppingPage.php +++ b/codeception/_support/Page/Front/ShoppingPage.php @@ -73,6 +73,7 @@ public function 入力_姓($value) public function 入力_利用ポイント($value) { $this->tester->executeJS("$('#shopping_order_use_point').val('{$value}').change()"); + $this->tester->wait(5); return $this; } @@ -80,6 +81,7 @@ public function 入力_利用ポイント($value) public function 選択_配送方法($id) { $this->tester->selectOption(['id' => 'shopping_order_Shippings_0_Delivery'], $id); + $this->tester->wait(5); return $this; } diff --git a/codeception/_support/Page/Install/InstallPage.php b/codeception/_support/Page/Install/InstallPage.php index 7cb43b14478..3d0f9a75d60 100644 --- a/codeception/_support/Page/Install/InstallPage.php +++ b/codeception/_support/Page/Install/InstallPage.php @@ -25,7 +25,7 @@ public static function go(\AcceptanceTester $I) { $page = new self($I); - return $page->goPage('/'); + return $page->goPage('/install/step1'); } public function step1_次へボタンをクリック() diff --git a/codeception/acceptance/EA06ContentsManagementCest.php b/codeception/acceptance/EA06ContentsManagementCest.php index 0c25dffd8c9..938b8675093 100644 --- a/codeception/acceptance/EA06ContentsManagementCest.php +++ b/codeception/acceptance/EA06ContentsManagementCest.php @@ -60,7 +60,7 @@ public function contentsmanagement_新着情報管理(AcceptanceTester $I) ->入力_本文('newsnewsnewsnewsnews') ->登録(); - $I->see('保存しました', NewsManagePage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, NewsManagePage::$登録完了メッセージ); // EA0601-UC02-T01_新着情報管理(編集) NewsManagePage::go($I)->一覧_編集(2); @@ -70,7 +70,7 @@ public function contentsmanagement_新着情報管理(AcceptanceTester $I) ->入力_タイトル($new_title) ->登録(); - $I->see('保存しました', NewsManagePage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, NewsManagePage::$登録完了メッセージ); $NewsListPage = NewsManagePage::go($I); $I->assertEquals($new_title, $NewsListPage->一覧_タイトル(2)); @@ -78,6 +78,7 @@ public function contentsmanagement_新着情報管理(AcceptanceTester $I) // EA0601-UC03-T01_新着情報管理(削除) $NewsListPage->一覧_削除(2); $NewsListPage->ポップアップを受け入れます(2); + $I->waitForText('削除しました', 10, NewsManagePage::$登録完了メッセージ); $I->assertNotEquals($new_title, $NewsListPage->一覧_タイトル(2)); } @@ -107,7 +108,7 @@ public function contentsmanagement_ファイル管理(AcceptanceTester $I) ->入力_ファイル('upload.txt') ->アップロード(); - $I->see('upload.txt', $FileManagePage->ファイル名(1)); + $I->waitForText('upload.txt', 10, $FileManagePage->ファイル名(1)); $FileManagePage->一覧_ダウンロード(1); $UploadedFile = $I->getLastDownloadFile('/^upload\.txt$/'); @@ -120,7 +121,7 @@ public function contentsmanagement_ファイル管理(AcceptanceTester $I) $FileManagePage->一覧_表示(1); $I->switchToNewWindow(); - $I->see('This is uploaded file.'); + $I->waitForText('This is uploaded file.'); FileManagePage::go($I) ->一覧_削除(1) @@ -131,14 +132,14 @@ public function contentsmanagement_ファイル管理(AcceptanceTester $I) ->入力_フォルダ名('folder1') ->フォルダ作成(); - $I->see('folder1', $FileManagePage->ファイル名(1)); + $I->waitForText('folder1', 10, $FileManagePage->ファイル名(1)); $FileManagePage->一覧_ファイル名_クリック(1); - $I->see('folder1', $FileManagePage->パンくず(2)); + $I->waitForText('folder1', 10, $FileManagePage->パンくず(2)); $config = Fixtures::get('config'); $I->amOnPage('/'.$config['eccube_admin_route'].'/content/file_manager'); - $I->see('ファイル管理コンテンツ管理', '.c-pageTitle'); + $I->waitForText('ファイル管理コンテンツ管理', 10, '.c-pageTitle'); FileManagePage::go($I) ->一覧_削除(1) @@ -156,7 +157,7 @@ public function contentsmanagement_ファイル管理_php(AcceptanceTester $I) ->入力_ファイル('upload.php') ->アップロード(); - $I->see('アップロードできないファイル拡張子です。', '#form1 .errormsg'); + $I->waitForText('アップロードできないファイル拡張子です。', 10, '#form1 .errormsg'); } /** @@ -174,7 +175,7 @@ public function contentsmanagement_ファイル管理_ファイルアップロ } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/file_manager'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } /** @@ -198,17 +199,17 @@ public function contentsmanagement_ページ管理(AcceptanceTester $I) ->入力_内容($page) ->入力_PC用レイアウト('下層ページ用レイアウト') ->登録(); - $I->see('保存しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); - $I->see($page, 'body'); + $I->waitForText($page, 10, 'body'); /* 編集 */ PageManagePage::go($I)->ページ編集($page); PageEditPage::at($I) ->入力_内容("{% extends 'default_frame.twig' %}") ->登録(); - $I->see('保存しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); $config = Fixtures::get('config'); @@ -220,9 +221,9 @@ public function contentsmanagement_ページ管理(AcceptanceTester $I) ->ブロックを移動('新着情報', '#position_4') ->登録(); - $I->see('保存しました', LayoutEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, LayoutEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); - $I->see('新着情報', '.ec-newsRole'); + $I->waitForText('新着情報', 10, '.ec-newsRole'); LayoutManagePage::go($I)->レイアウト編集('下層ページ用レイアウト'); LayoutEditPage::at($I) @@ -257,7 +258,7 @@ public function contentsmanagement_ページ管理(AcceptanceTester $I) /* 削除 */ PageManagePage::go($I)->削除($page); - $I->see('削除しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, PageEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); $I->seeInTitle('ページがみつかりません'); } @@ -276,10 +277,10 @@ public function contentsmanagement_ページ管理_ファイルアップロー } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/page/new'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); $I->amOnPage('/'.$config['eccube_admin_route'].'/content/page/1/edit'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } @@ -305,7 +306,7 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) ->端末種別('PC') ->ブロックを移動('新着情報', '#position_3') ->登録(); - $I->see('保存しました'); + $I->waitForText('保存しました'); // レイアウトを適用した新規ページを作成 PageManagePage::go($I)->新規入力(); @@ -315,7 +316,7 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) ->入力_URL($pageName) ->入力_PC用レイアウト($layoutName) ->登録(); - $I->see('保存しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); // 作成したページの表示確認 (新着情報がヘッダエリアに表示されていることを確認) $I->amOnPage('/user_data/'.$pageName); @@ -326,7 +327,7 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) LayoutEditPage::at($I) ->ブロックを移動('新着情報', '#position_10') ->登録(); - $I->see('保存しました', LayoutEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, LayoutEditPage::$登録完了メッセージ); // 編集したページの表示確認 (新着情報がフッタエリアに表示されていることを確認) $I->amOnPage('/user_data/'.$pageName); @@ -335,15 +336,15 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) // レイアウトの削除 → レイアウトを適用したページがあるため削除できない LayoutManagePage::go($I)->削除($layoutName); - $I->see('削除できませんでした', LayoutManagePage::$登録完了メッセージ); + $I->waitForText('削除できませんでした', 10, LayoutManagePage::$登録完了メッセージ); // レイアウトを適用したページを削除 PageManagePage::go($I)->削除($pageName); - $I->see('削除しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, PageEditPage::$登録完了メッセージ); // レイアウトの削除 LayoutManagePage::go($I)->削除($layoutName); - $I->see('削除しました', LayoutManagePage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, LayoutManagePage::$登録完了メッセージ); $I->cantSee($layoutName, '.contentsArea'); } @@ -382,7 +383,7 @@ public function contentsmanagement_ブロック管理(AcceptanceTester $I) ->入力_ファイル名($block) ->入力_データ('
block1
') ->登録(); - $I->see('保存しました', BlockEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, BlockEditPage::$登録完了メッセージ); // TOPページにブロックを配置 LayoutManagePage::go($I)->レイアウト編集('トップページ用レイアウト'); @@ -391,16 +392,16 @@ public function contentsmanagement_ブロック管理(AcceptanceTester $I) ->登録(); $I->amOnPage('/'); - $I->see('block1', ['id' => $block]); + $I->waitForText('block1', 10, ['id' => $block]); BlockManagePage::go($I)->編集(1); BlockEditPage::at($I) ->入力_データ('
welcome
') ->登録(); - $I->see('保存しました', BlockEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, BlockEditPage::$登録完了メッセージ); $I->amOnPage('/'); - $I->see('welcome', ['id' => $block]); + $I->waitForText('welcome', 10, ['id' => $block]); // EA0604-UC01-T03_ブロック管理(削除) BlockManagePage::go($I) @@ -425,11 +426,11 @@ public function contentsmanagement_ブロック管理_ファイルアップロ } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/block/new'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); $config = Fixtures::get('config'); $I->amOnPage('/'.$config['eccube_admin_route'].'/content/block/1/edit'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } @@ -449,7 +450,7 @@ public function contentsmanagement_CSS管理(AcceptanceTester $I) ->登録(); $I->amOnPage('/'); $I->reloadPage(); - $I->see('お気に入り', '.ec-headerNaviRole'); + $I->waitForText('お気に入り', 10, '.ec-headerNaviRole'); } /** @@ -466,7 +467,7 @@ public function contentsmanagement_CSS管理_ファイルアップロード制 } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/css'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } public function contentsmanagement_JavaScript管理(AcceptanceTester $I) @@ -480,7 +481,7 @@ public function contentsmanagement_JavaScript管理(AcceptanceTester $I) )->登録(); $I->amOnPage('/'); $I->reloadPage(); - $I->see($test_text, '.ec-headerNaviRole'); + $I->waitForText($test_text, 10, '.ec-headerNaviRole'); JavaScriptManagePage::go($I)->入力('/* */')->登録(); $I->amOnPage('/'); @@ -502,7 +503,7 @@ public function contentsmanagement_JavaScript管理_ファイルアップロー } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/js'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } @@ -513,12 +514,12 @@ public function contentsmanagement_メンテナンス管理(AcceptanceTester $I) $I->expect('メンテナンスモードを有効にします'); MaintenanceManagePage::go($I) ->メンテナンス有効無効(); - $I->see('メンテナンスモードを有効にしました。', MaintenanceManagePage::$完了メッセージ); + $I->waitForText('メンテナンスモードを有効にしました。', 10, MaintenanceManagePage::$完了メッセージ); $I->expect('トップページを確認します'); $I->amOnPage('/'); - $I->see('メンテナンスモードが有効になっています。', '#page_homepage > div.ec-maintenanceAlert > div'); - $I->see('全ての商品', TopPage::$検索_カテゴリ選択); + $I->waitForText('メンテナンスモードが有効になっています。', null,'#page_homepage > div.ec-maintenanceAlert > div'); + $I->waitForText('全ての商品', 10, TopPage::$検索_カテゴリ選択); $I->expect('ログアウトします'); $config = Fixtures::get('config'); @@ -527,7 +528,7 @@ public function contentsmanagement_メンテナンス管理(AcceptanceTester $I) $I->expect('トップページを確認します'); $I->amOnPage('/'); $I->dontSee('メンテナンスモードが有効になっています。', '#page_homepage > div.ec-maintenanceAlert > div'); - $I->see('ただいまメンテナンス中です。', 'body > div > div > div > div > p.ec-404Role__title.ec-reportHeading'); + $I->waitForText('ただいまメンテナンス中です。', 10, 'body > div > div > div > div > p.ec-404Role__title.ec-reportHeading'); // 画面遷移がスムーズにいかない場合があるため、ログイン画面に遷移させておく $account = Fixtures::get('admin_account'); @@ -541,12 +542,12 @@ public function contentsmanagement_メンテナンス管理(AcceptanceTester $I) MaintenanceManagePage::go($I) ->メンテナンス有効無効(); - $I->see('メンテナンスモードを無効にしました。', MaintenanceManagePage::$完了メッセージ); + $I->waitForText('メンテナンスモードを無効にしました。', 10, MaintenanceManagePage::$完了メッセージ); $I->expect('トップページを確認します'); $I->amOnPage('/'); $I->dontSee('メンテナンスモードが有効になっています。', '#page_homepage > div.ec-maintenanceAlert > div'); - $I->see('全ての商品', TopPage::$検索_カテゴリ選択); + $I->waitForText('全ての商品', 10, TopPage::$検索_カテゴリ選択); } public function contentsmanagement_キャッシュ管理(AcceptanceTester $I) @@ -555,7 +556,7 @@ public function contentsmanagement_キャッシュ管理(AcceptanceTester $I) $I->expect('トップページを確認します'); $I->amOnPage('/'); - $I->see('EC-CUBE SHOP', 'h1'); + $I->waitForText('EC-CUBE SHOP', 10, 'h1'); $I->expect('キャッシュを削除します'); $config = Fixtures::get('config'); @@ -563,10 +564,10 @@ public function contentsmanagement_キャッシュ管理(AcceptanceTester $I) $I->click('.c-contentsArea .btn-ec-conversion'); $I->waitForElement('.alert', 10); - $I->see('削除しました', '.alert'); + $I->waitForText('削除しました', 10, '.alert'); $I->expect('トップページを確認します'); $I->amOnPage('/'); - $I->see('EC-CUBE SHOP', 'h1'); + $I->waitForText('EC-CUBE SHOP', 10, 'h1'); } } diff --git a/codeception/acceptance/EA07BasicinfoCest.php b/codeception/acceptance/EA07BasicinfoCest.php index ceff12e7e25..a2361f6daa6 100644 --- a/codeception/acceptance/EA07BasicinfoCest.php +++ b/codeception/acceptance/EA07BasicinfoCest.php @@ -77,14 +77,14 @@ public function basicinfo_基本設定(AcceptanceTester $I) $I->wait(1); $page->登録(); - $I->see('保存しました', ShopSettingPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, ShopSettingPage::$登録完了メッセージ); $I->amOnPage('/help/about'); - $I->see('サンプル会社名', '#help_about_box__company_name dd'); - $I->see('サンプルショップ', '#help_about_box__shop_name dd'); - $I->see('1000001', '#help_about_box__address dd'); - $I->see('東京都千代田区千代田', '#help_about_box__address dd'); - $I->see('05055555555', '#help_about_box__phone_number dd'); + $I->waitForText('サンプル会社名', 10, '#help_about_box__company_name dd'); + $I->waitForText('サンプルショップ', 10, '#help_about_box__shop_name dd'); + $I->waitForText('1000001', 10, '#help_about_box__address dd'); + $I->waitForText('東京都千代田区千代田', 10, '#help_about_box__address dd'); + $I->waitForText('05055555555', 10, '#help_about_box__phone_number dd'); } public function basicinfo_会員設定_仮会員機能(AcceptanceTester $I) @@ -107,7 +107,7 @@ public function basicinfo_会員設定_仮会員機能(AcceptanceTester $I) $page = CustomerManagePage::go($I); $I->fillField('#admin_search_customer_multi', $email); $page->詳細検索_本会員(); - $I->see('検索結果:1件が該当しました', CustomerManagePage::$検索結果メッセージ); + $I->waitForText('検索結果:1件が該当しました', 10, CustomerManagePage::$検索結果メッセージ); $I->see($email); $I->wantTo('EA0701-UC01-T05_会員設定の設定、編集(仮会員機能:有効)'); @@ -129,7 +129,7 @@ public function basicinfo_会員設定_仮会員機能(AcceptanceTester $I) $page = CustomerManagePage::go($I); $I->fillField('#admin_search_customer_multi', $email); $page->詳細検索_仮会員(); - $I->see('検索結果:1件が該当しました', CustomerManagePage::$検索結果メッセージ); + $I->waitForText('検索結果:1件が該当しました', 10, CustomerManagePage::$検索結果メッセージ); $I->see($email); } @@ -154,7 +154,7 @@ public function basicinfo_会員設定_マイページ注文状況(AcceptanceTes ->登録(); MyPage::go($I)->注文履歴(); - $I->see('ご注文状況', '.ec-historyRole'); + $I->waitForText('ご注文状況', 10, '.ec-historyRole'); } public function basicinfo_会員設定_お気に入り(AcceptanceTester $I) @@ -178,10 +178,10 @@ public function basicinfo_会員設定_お気に入り(AcceptanceTester $I) ->登録(); $I->amOnPage('/'); - $I->see('お気に入り', '.ec-headerNav'); + $I->waitForText('お気に入り', 10, '.ec-headerNav'); $I->amOnPage('/products/detail/1'); - $I->see('お気に入りに追加', '.ec-productRole__btn'); + $I->waitForText('お気に入りに追加', 10, ['id' => 'favorite']); } public function basicinfo_会員設定_自動ログイン(AcceptanceTester $I) @@ -206,7 +206,7 @@ public function basicinfo_会員設定_自動ログイン(AcceptanceTester $I) ->登録(); $I->amOnPage('/mypage/login'); - $I->see('次回から自動的にログインする', '#login_mypage'); + $I->waitForText('次回から自動的にログインする', 10, '#login_mypage'); $I->checkOption('#login_memory'); $I->submitForm('#login_mypage', [ 'login_email' => $customer->getEmail(), @@ -215,7 +215,7 @@ public function basicinfo_会員設定_自動ログイン(AcceptanceTester $I) $I->amOnPage('/mypage'); $I->seeCookie('eccube_remember_me'); - $I->see('ログアウト', '.ec-headerNaviRole'); + $I->waitForText('ログアウト', 10, '.ec-headerNaviRole'); $I->dontSee('ログイン', '.ec-headerNaviRole'); $I->logoutAsMember(); @@ -231,7 +231,7 @@ public function basicinfo_商品設定の設定、編集_在庫切れ商品の ProductEditPage::at($I) ->入力_在庫数(0) ->登録(); - $I->see('保存しました', ProductEditPage::$登録結果メッセージ); + $I->waitForText('保存しました', 10, ProductEditPage::$登録結果メッセージ); $I->wantTo('EA0701-UC01-T13 商品設定の設定、編集(在庫切れ商品の非表示:有効)'); @@ -243,7 +243,7 @@ public function basicinfo_商品設定の設定、編集_在庫切れ商品の $topPage = TopPage::go($I); $I->fillField(['class' => 'search-name'], 'チェリーアイスサンド'); $topPage->検索(); - $I->see('お探しの商品は見つかりませんでした'); + $I->waitForText('お探しの商品は見つかりませんでした'); $I->wantTo('EA0701-UC01-T14 商品設定の設定、編集(在庫切れ商品の非表示:無効)'); @@ -255,7 +255,7 @@ public function basicinfo_商品設定の設定、編集_在庫切れ商品の $topPage = TopPage::go($I); $I->fillField(['class' => 'search-name'], 'チェリーアイスサンド'); $topPage->検索(); - $I->see('チェリーアイスサンド', '.ec-shelfGrid'); + $I->waitForText('チェリーアイスサンド', 10, '.ec-shelfGrid'); } public function basicinfo_税設定(AcceptanceTester $I) @@ -269,7 +269,7 @@ public function basicinfo_税設定(AcceptanceTester $I) $I->expect('商品登録画面で、税率の入力欄が表示されている'); ProductEditPage::go($I); - $I->see('税率', '.c-contentsArea'); + $I->waitForText('税率', 10, '.c-contentsArea'); $I->seeElement('#admin_product_class_tax_rate'); $I->amGoingTo('税設定を無効化'); @@ -303,7 +303,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) ->入力_販売価格(2800) ->入力_在庫数(1000) ->登録(); - $I->see('保存しました', ProductEditPage::$登録結果メッセージ); + $I->waitForText('保存しました', 10, ProductEditPage::$登録結果メッセージ); $I->amGoingTo('会員を作成'); $createCustomer = Fixtures::get('createCustomer'); @@ -325,21 +325,21 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('注文手続き画面・確認画面にて、加算ポイントが表示されていること'); CartPage::go($I)->レジに進む(); - $I->see('加算ポイント'); + $I->waitForText('加算ポイント'); $I->see($expected_point_text, CartPage::$加算ポイント); ShoppingPage::at($I)->確認する(); - $I->see('加算ポイント'); + $I->waitForText('加算ポイント'); $I->see($expected_point_text, CartPage::$加算ポイント); $I->amGoingTo('注文完了'); ShoppingConfirmPage::at($I)->注文する(); - $I->see('ご注文ありがとうございました'); + $I->waitForText('ご注文ありがとうございました'); $I->expect('マイベージ 注文詳細にて、加算ポイントが表示されていること'); MyPage::go($I)->注文履歴詳細(0); HistoryPage::at($I); - $I->see('加算ポイント'); + $I->waitForText('加算ポイント'); $I->see($expected_point_text, HistoryPage::$加算ポイント); $I->expect('管理画面・受注管理にて、加算ポイントが表示されていること'); @@ -362,7 +362,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('マイベージにて、ポイントが付与されていること'); MyPage::go($I); - $I->see('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); + $I->waitForText('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); // "ポイント換算レート"に任意の値を設定し、ポイント利用の確認を行う $I->wantTo('EA0701-UC01-T16 ポイント設定(有効) ポイント換算レート'); @@ -374,7 +374,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('所持ポイントが表示されていること'); CartPage::go($I)->レジに進む(); - $I->see('利用ポイント'); + $I->waitForText('利用ポイント'); $I->see(number_format($customerPoint).' pt が利用可能です。'); $I->amGoingTo('利用ポイントを設定'); @@ -388,7 +388,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->amGoingTo('注文完了 (ポイントが減算される)'); ShoppingConfirmPage::at($I)->注文する(); - $I->see('ご注文ありがとうございました'); + $I->waitForText('ご注文ありがとうございました'); $customerPoint -= $expected_point; $I->expect('管理画面・受注管理にて、利用ポイントが計算されていること'); @@ -428,7 +428,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('マイベージにて、ポイントが減少していること'); MyPage::go($I); - $I->see('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); + $I->waitForText('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); } public function basicinfo_ポイント設定_無効(AcceptanceTester $I) @@ -459,7 +459,7 @@ public function basicinfo_ポイント設定_無効(AcceptanceTester $I) $I->amGoingTo('注文完了'); ShoppingConfirmPage::at($I)->注文する(); - $I->see('ご注文ありがとうございました'); + $I->waitForText('ご注文ありがとうございました'); $I->expect('マイベージにて、加算ポイントが表示されていないこと'); MyPage::go($I)->注文履歴詳細(0); @@ -497,7 +497,7 @@ public function basicinfo_特定商取引法の設定(AcceptanceTester $I) ->入力(TradelawSettingPage::$その他06, 'その他06名称', 'その他06説明') ->登録(); - $I->see('保存しました', TradelawSettingPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, TradelawSettingPage::$登録完了メッセージ); $I->expect('「特定商取引法に基づく表記」ページを表示して変更が反映されていることを確認します'); @@ -543,19 +543,19 @@ public function basicinfo_特定商取引法の設定(AcceptanceTester $I) ->カートに入れる(1) ->カートへ進む(); CartPage::go($I)->レジに進む(); - $I->see('引き渡し時期名称', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('引き渡し時期説明', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('返品交換について名称', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('返品交換について説明', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->waitForText('引き渡し時期名称', 10, ['css' => '#shopping-form']); + $I->waitForText('引き渡し時期説明', 10, ['css' => '#shopping-form']); + $I->waitForText('返品交換について名称', 10, ['css' => '#shopping-form']); + $I->waitForText('返品交換について説明', 10, ['css' => '#shopping-form']); ShoppingPage::at($I)->確認する(); - $I->see('引き渡し時期名称', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('引き渡し時期説明', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('返品交換について名称', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('返品交換について説明', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->waitForText('引き渡し時期名称', 10, ['css' => '#shopping-form']); + $I->waitForText('引き渡し時期説明', 10, ['css' => '#shopping-form']); + $I->waitForText('返品交換について名称', 10, ['css' => '#shopping-form']); + $I->waitForText('返品交換について説明', 10, ['css' => '#shopping-form']); ShoppingConfirmPage::at($I)->注文する(); - $I->see('ご注文ありがとうございました'); + $I->waitForText('ご注文ありがとうございました'); } public function basicinfo_会員規約(AcceptanceTester $I) @@ -572,7 +572,7 @@ public function basicinfo_会員規約(AcceptanceTester $I) ->入力_内容($after) ->登録(); - $I->see('保存しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); $I->amOnPage('/help/agreement'); $I->see($test_text); @@ -585,7 +585,7 @@ public function basicinfo_支払方法一覧(AcceptanceTester $I) // 表示 $PaymentManagePage = PaymentManagePage::go($I); - $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(1)); } /** @@ -600,15 +600,15 @@ public function basicinfo_支払方法入れ替え(AcceptanceTester $I) $PaymentManagePage = PaymentManagePage::go($I); // 入れ替え - $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(1)); $PaymentManagePage->一覧_下に(1); $PaymentManagePage = PaymentManagePage::go($I); - $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(2)); + $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(2)); $PaymentManagePage->一覧_上に(2); $PaymentManagePage = PaymentManagePage::go($I); - $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(1)); } /** @@ -632,10 +632,10 @@ public function basicinfo_支払方法登録(AcceptanceTester $I) ->登録(); PaymentEditPage::at($I); - $I->see('保存しました', PaymentEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PaymentEditPage::$登録完了メッセージ); $PaymentManagePage = PaymentManagePage::go($I); - $I->see('payment method1', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('payment method1', 10, $PaymentManagePage->一覧_支払方法(1)); } /** @@ -657,10 +657,10 @@ public function basicinfo_支払方法編集(AcceptanceTester $I) ->登録(); PaymentEditPage::at($I); - $I->see('保存しました', PaymentEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PaymentEditPage::$登録完了メッセージ); $PaymentManagePage = PaymentManagePage::go($I); - $I->see('payment method2', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('payment method2', 10, $PaymentManagePage->一覧_支払方法(1)); } /** @@ -677,12 +677,13 @@ public function basicinfo_支払方法削除(AcceptanceTester $I) PaymentEditPage::at($I) ->入力_支払方法('dummy payment') ->登録(); + $I->waitForText('保存しました', 10, PaymentEditPage::$登録完了メッセージ); // 削除 $page = PaymentManagePage::go($I); $before = $page->一覧_件数取得(); $page->一覧_削除(1); - $I->see('削除しました', PaymentEditPage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, PaymentEditPage::$登録完了メッセージ); $after = PaymentManagePage::go($I)->一覧_件数取得(); $I->assertEquals($before - 1, $after); @@ -695,7 +696,7 @@ public function basicinfo_配送方法一覧(AcceptanceTester $I) // 表示 $DeliveryManagePage = DeliveryManagePage::go($I); - $I->see('サンプル宅配', $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('サンプル宅配', 10, $DeliveryManagePage->一覧_名称(2)); } /** @@ -722,10 +723,10 @@ public function basicinfo_配送方法登録(AcceptanceTester $I) $Page->登録(); DeliveryEditPage::at($I); - $I->see('保存しました', DeliveryEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, DeliveryEditPage::$登録完了メッセージ); $DeliveryManagePage = DeliveryManagePage::go($I); - $I->see('配送業者名', $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('配送業者名', 10, $DeliveryManagePage->一覧_名称(2)); } /** @@ -746,10 +747,10 @@ public function basicinfo_配送方法編集(AcceptanceTester $I) ->登録(); DeliveryEditPage::at($I); - $I->see('保存しました', DeliveryEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, DeliveryEditPage::$登録完了メッセージ); $DeliveryManagePage = DeliveryManagePage::go($I); - $I->see('配送業者名1', $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('配送業者名1', 10, $DeliveryManagePage->一覧_名称(2)); } /** @@ -764,7 +765,7 @@ public function basicinfo_配送方法削除(AcceptanceTester $I) $page = DeliveryManagePage::go($I); $before = $page->一覧_件数取得(); $page->一覧_削除(2); - $I->see('削除しました', DeliveryManagePage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, DeliveryManagePage::$登録完了メッセージ); $after = DeliveryManagePage::go($I)->一覧_件数取得(); $I->assertEquals($before - 1, $after); @@ -779,16 +780,16 @@ public function basicinfo_配送方法一覧順序変更(AcceptanceTester $I) $I->wantTo('EA0706-UC02-T01 配送方法一覧順序変更'); $DeliveryManagePage = DeliveryManagePage::go($I); - $I->see('サンプル宅配 / サンプル宅配', $DeliveryManagePage->一覧_名称(2)); - $I->see('サンプル業者 / サンプル業者', $DeliveryManagePage->一覧_名称(3)); + $I->waitForText('サンプル宅配 / サンプル宅配', 10, $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('サンプル業者 / サンプル業者', 10, $DeliveryManagePage->一覧_名称(3)); $DeliveryManagePage->一覧_下に(2); - $I->see('サンプル業者 / サンプル業者', $DeliveryManagePage->一覧_名称(2)); - $I->see('サンプル宅配 / サンプル宅配', $DeliveryManagePage->一覧_名称(3)); + $I->waitForText('サンプル業者 / サンプル業者', 10, $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('サンプル宅配 / サンプル宅配', 10, $DeliveryManagePage->一覧_名称(3)); $DeliveryManagePage->一覧_上に(3); - $I->see('サンプル宅配 / サンプル宅配', $DeliveryManagePage->一覧_名称(2)); - $I->see('サンプル業者 / サンプル業者', $DeliveryManagePage->一覧_名称(3)); + $I->waitForText('サンプル宅配 / サンプル宅配', 10, $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('サンプル業者 / サンプル業者', 10, $DeliveryManagePage->一覧_名称(3)); } /** @@ -803,15 +804,15 @@ public function basicinfo_税率設定(AcceptanceTester $I) $TaxManagePage = TaxManagePage::go($I); // 一覧 - $I->see('税率設定', '#page_admin_setting_shop_tax > div.c-container > div.c-contentsArea > div.c-contentsArea__cols > div > div > div > div.card-header'); - $I->see('10%', '#ex-tax_rule-1 > td.align-middle.text-end'); + $I->waitForText('税率設定', 10, '#page_admin_setting_shop_tax > div.c-container > div.c-contentsArea > div.c-contentsArea__cols > div > div > div > div.card-header'); + $I->waitForText('10%', 10, '#ex-tax_rule-1 > td.align-middle.text-end'); // 登録 $TaxManagePage ->入力_消費税率(1, '8') ->入力_適用日(date('Y'), date('m'), date('d')) ->共通税率設定_登録(); - $I->see('8%', $TaxManagePage->一覧_税率(2)); + $I->waitForText('8%', 10, $TaxManagePage->一覧_税率(2)); // edit $TaxManagePage @@ -819,12 +820,12 @@ public function basicinfo_税率設定(AcceptanceTester $I) ->入力_消費税率(2, 12) ->決定(2); - $I->see('保存しました', TaxManagePage::$登録完了メッセージ); - $I->see('12%', $TaxManagePage->一覧_税率(2)); + $I->waitForText('保存しました', 10, TaxManagePage::$登録完了メッセージ); + $I->waitForText('12%', 10, $TaxManagePage->一覧_税率(2)); // 削除 $TaxManagePage->一覧_削除(2); - $I->see('削除しました', TaxManagePage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, TaxManagePage::$登録完了メッセージ); } /** @@ -842,7 +843,7 @@ public function basicinfo_メール設定(AcceptanceTester $I) ->入力_件名($title) ->登録(); - $I->see('保存しました', MailSettingsPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, MailSettingsPage::$登録完了メッセージ); // 結果確認 $I->resetEmails(); @@ -868,7 +869,7 @@ public function basicinfo_CSV出力項目(AcceptanceTester $I) ->削除() ->設定(); - $I->see('保存しました', CsvSettingsPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, CsvSettingsPage::$登録完了メッセージ); // CSVダウンロード OrderManagePage::go($I)->受注CSVダウンロード実行(); @@ -894,7 +895,7 @@ public function basicinfo_受注対応状況設定(AcceptanceTester $I) ->入力_色('#19406C') ->登録(); - $I->see('保存しました', OrderStatusSettingsPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, OrderStatusSettingsPage::$登録完了メッセージ); OrderStatusSettingsPage::go($I); $I->seeInField(OrderStatusSettingsPage::$名称_マイページ, '注文受付'); @@ -921,7 +922,7 @@ public function basicinfo_定休日カレンダー_表示(AcceptanceTester $I) ->入力_タイトル($title) ->入力_日付($date->format('Y-m-d')) ->登録(); - $I->see('保存しました', CalendarSettingsPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, CalendarSettingsPage::$登録完了メッセージ); } // レイアウト設定でカレンダーブロックを登録 @@ -929,11 +930,11 @@ public function basicinfo_定休日カレンダー_表示(AcceptanceTester $I) LayoutEditPage::at($I) ->ブロックを移動('カレンダー', '#position_7') ->登録(); - $I->see('保存しました', LayoutEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, LayoutEditPage::$登録完了メッセージ); // フロント画面でカレンダーが表示されていることを確認 $I->amOnPage('/'); - $I->see('カレンダー', ['class' => 'ec-layoutRole__mainBottom']); + $I->waitForText('カレンダー', 10, ['class' => 'ec-layoutRole__mainBottom']); // フロント画面で定休日にクラス .ec-calendar__holiday が設定されていることを確認 $I->seeElement(['xpath' => '//table[@id="this-month-table"]//td[contains(@class,"ec-calendar__holiday")][text()="'.$holidays['定休日1']->format('j').'"]']); @@ -965,7 +966,7 @@ public function basicinfo_認証キー設定(AcceptanceTester $I) $I->expect('認証キーの登録ボタンをクリックします。'); $I->click(['css' => '.btn-ec-conversion']); - $I->see('保存しました'); + $I->waitForText('保存しました'); } public function basicinfo_税設定_適格請求書発行事業者登録番号(AcceptanceTester $I) @@ -980,7 +981,7 @@ public function basicinfo_税設定_適格請求書発行事業者登録番号(A ->入力_適格請求書発行事業者登録番号('T1234567890123') ->登録(); - $I->see('保存しました', ShopSettingPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, ShopSettingPage::$登録完了メッセージ); $I->expect('納品書を出力します'); $findOrders = Fixtures::get('findOrders'); // Closure @@ -988,7 +989,7 @@ public function basicinfo_税設定_適格請求書発行事業者登録番号(A return !in_array($Order->getOrderStatus()->getId(), [OrderStatus::PROCESSING, OrderStatus::PENDING]); }); $OrderListPage = OrderManagePage::go($I)->検索(); - $I->see('検索結果:'.count($TargetOrders).'件が該当しました', OrderManagePage::$検索結果_メッセージ); + $I->waitForText('検索結果:'.count($TargetOrders).'件が該当しました', 10, OrderManagePage::$検索結果_メッセージ); $OrderListPage->すべてチェック(); $OrderListPage->要素をクリック('#form_bulk #bulkExportPdf'); @@ -997,7 +998,7 @@ public function basicinfo_税設定_適格請求書発行事業者登録番号(A $I->switchToWindow('newwin'); // Check redirect to form pdf information - $I->see('納品書出力受注管理', OrderManagePage::$タイトル要素); + $I->waitForText('納品書出力受注管理', 10, OrderManagePage::$タイトル要素); $I->click('.btn-ec-conversion'); $I->wait(2); diff --git a/codeception/acceptance/EA08SysteminfoCest.php b/codeception/acceptance/EA08SysteminfoCest.php index 68051931c4c..1b85f43bdac 100644 --- a/codeception/acceptance/EA08SysteminfoCest.php +++ b/codeception/acceptance/EA08SysteminfoCest.php @@ -368,6 +368,7 @@ public function systeminfo_権限管理登録(AcceptanceTester $I) 'authority' => '店舗オーナー', ]) ->登録(); + $I->waitForText('保存しました'); $I->wantTo('EA0805-UC01-T01 権限管理 - 登録'); @@ -376,7 +377,7 @@ public function systeminfo_権限管理登録(AcceptanceTester $I) ->行追加() ->入力(1, ['1' => '店舗オーナー'], '/setting') ->登録(); - $I->see('保存しました', AuthorityManagePage::$完了メッセージ); + $I->waitForText('保存しました', 10, AuthorityManagePage::$完了メッセージ); $I->wantTo('EA0805-UC01-T02 権限管理 - 登録'); @@ -470,13 +471,14 @@ public function systeminfo_ログ表示(AcceptanceTester $I) $I->amOnPage('/'.$config['eccube_admin_route'].'/setting/system/log'); $I->see('ログ表示システム設定', '.c-pageTitle'); - $option = $I->grabTextFrom('#admin_system_log_files option:nth-child(1)'); + $option = $I->grabTextFrom(['css' => '#admin_system_log_files option:nth-child(1)']); $I->selectOption('#admin_system_log_files', $option); $I->fillField(['id' => 'admin_system_log_line_max'], '10'); $I->click(['css' => '#form1 button']); - $logs = $I->grabTextFrom('.c-contentsArea textarea'); + $I->waitForElement(['css' => '.c-contentsArea textarea']); + $logs = $I->grabTextFrom(['css' => '.c-contentsArea textarea']); $I->assertLessThanOrEqual(10, count(explode("\n", $logs)), 'ログ件数を確認'); $I->seeInField(['id' => 'admin_system_log_line_max'], '10'); } diff --git a/codeception/acceptance/EA09ShippingCest.php b/codeception/acceptance/EA09ShippingCest.php index d4716ddc966..2988784b44a 100644 --- a/codeception/acceptance/EA09ShippingCest.php +++ b/codeception/acceptance/EA09ShippingCest.php @@ -145,9 +145,8 @@ public function shippingお届け先追加(AcceptanceTester $I) ->入力_番地_ビル名('address 2', 1) ->出荷情報登録(); - $I->see('保存しました', ShippingEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', null, ShippingEditPage::$登録完了メッセージ); - $I->wait(10); // 出荷済みに変更 $ShippingRegisterPage ->出荷完了にする() diff --git a/codeception/acceptance/EF06OtherCest.php b/codeception/acceptance/EF06OtherCest.php index ef7660f0d39..b57c0e38285 100644 --- a/codeception/acceptance/EF06OtherCest.php +++ b/codeception/acceptance/EF06OtherCest.php @@ -49,7 +49,7 @@ public function other_ログイン異常1(AcceptanceTester $I) 'login_pass' => 'password', ]); - $I->see('ログインできませんでした。', 'div.ec-login p.ec-errorMessage'); + $I->waitForText('ログインできませんでした。', 10, 'div.ec-login p.ec-errorMessage'); } public function other_ログイン異常2(AcceptanceTester $I) @@ -66,7 +66,7 @@ public function other_ログイン異常2(AcceptanceTester $I) 'login_pass' => 'password', ]); - $I->see('ログインできませんでした。', 'div.ec-login p.ec-errorMessage'); + $I->waitForText('ログインできませんでした。', 10, 'div.ec-login p.ec-errorMessage'); } /** @@ -82,7 +82,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->click('#login_mypage a:first-child'); // TOPページ>ログイン>パスワード再発行 - $I->see('パスワードの再発行', 'div.ec-pageHeader h1'); + $I->waitForText('パスワードの再発行', 10, 'div.ec-pageHeader h1'); // メールアドレスを入力する // 「次のページへ」ボタンを押下する @@ -92,7 +92,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->submitForm('#form1', [ 'login_email' => $customer->getEmail(), ]); - $I->see('パスワードの再発行(メール送信)', 'div.ec-pageHeader h1'); + $I->waitForText('パスワードの再発行(メール送信)', 10, 'div.ec-pageHeader h1'); $I->seeEmailCount(1); $I->seeInLastEmailSubjectTo($customer->getEmail(), 'パスワード変更のご確認'); @@ -103,7 +103,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->resetEmails(); $I->amOnPage($url); - $I->see('パスワード再発行(再設定)', 'div.ec-pageHeader h1'); + $I->waitForText('パスワード再発行(再設定)', 10, 'div.ec-pageHeader h1'); $password = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, 16).'1234'; @@ -114,7 +114,7 @@ public function other_パスワード再発行(AcceptanceTester $I) 'password[second]' => $password, ]); - $I->see('ログイン', 'div.ec-pageHeader h1'); + $I->waitForText('ログイン', 10, 'div.ec-pageHeader h1'); $I->loginAsMember($customer->getEmail(), $password); } @@ -141,7 +141,7 @@ public function other_当サイトについて(AcceptanceTester $I) $I->wantTo('EF0604-UC01-T01 当サイトについて'); $I->amOnPage('/help/about'); - $I->see('当サイトについて', 'div.ec-pageHeader h1'); + $I->waitForText('当サイトについて', 10, 'div.ec-pageHeader h1'); $baseinfo = Fixtures::get('baseinfo'); $I->see($baseinfo->getShopName(), '#help_about_box__shop_name'); } @@ -154,8 +154,8 @@ public function other_プライバシーポリシー(AcceptanceTester $I) $I->wantTo('EF0605-UC01-T01 プライバシーポリシー'); $I->amOnPage('/help/privacy'); - $I->see('プライバシーポリシー', 'div.ec-pageHeader > h1'); - $I->see('個人情報保護の重要性に鑑み、「個人情報の保護に関する法律」及び本プライバシーポリシーを遵守し、お客さまのプライバシー保護に努めます。', 'main > div > div:nth-child(2) > div > p'); + $I->waitForText('プライバシーポリシー', 10, 'div.ec-pageHeader > h1'); + $I->waitForText('個人情報保護の重要性に鑑み、「個人情報の保護に関する法律」及び本プライバシーポリシーを遵守し、お客さまのプライバシー保護に努めます。', 10, 'main > div > div:nth-child(2) > div > p'); } /** @@ -166,7 +166,7 @@ public function other_特定商取引法に基づく表記(AcceptanceTester $I) $I->wantTo('EF0606-UC01-T01 特定商取引法に基づく表記'); $I->amOnPage('/help/tradelaw'); - $I->see('特定商取引法に基づく表記', 'div.ec-pageHeader h1'); + $I->waitForText('特定商取引法に基づく表記', 10, 'div.ec-pageHeader h1'); } /** @@ -181,7 +181,7 @@ public function other_お問い合わせ1(AcceptanceTester $I) $new_email = microtime(true).'.'.$faker->safeEmail; $BaseInfo = Fixtures::get('baseinfo'); - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->fillField(['id' => 'contact_name_name01'], '姓'); $I->fillField(['id' => 'contact_name_name02'], '名'); @@ -196,11 +196,11 @@ public function other_お問い合わせ1(AcceptanceTester $I) $I->fillField(['id' => 'contact_contents'], 'お問い合わせ内容の送信'); $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->click('div.ec-contactConfirmRole div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 完了ページ - $I->see('お問い合わせ(完了)', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ(完了)', 10, 'div.ec-pageHeader h1'); // メールチェック $message = $I->lastMessage(); @@ -222,7 +222,7 @@ public function other_お問い合わせ2(AcceptanceTester $I) $new_email = microtime(true).'.'.$faker->safeEmail; $BaseInfo = Fixtures::get('baseinfo'); - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->fillField(['id' => 'contact_name_name01'], '姓'); $I->fillField(['id' => 'contact_name_name02'], '名'); @@ -238,11 +238,11 @@ public function other_お問い合わせ2(AcceptanceTester $I) $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 確認画面 → 戻る - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->click('div.ec-contactConfirmRole div.ec-RegisterRole__actions button.ec-blockBtn--cancel'); // 入力画面 → フォーム入力内容の再チェック - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->seeInFormFields('.ec-contactRole form', [ 'contact[name][name01]' => '姓', 'contact[name][name02]' => '名', @@ -255,11 +255,11 @@ public function other_お問い合わせ2(AcceptanceTester $I) $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 確認画面 → 送信 - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->click('div.ec-contactConfirmRole div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 完了ページ - $I->see('お問い合わせ(完了)', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ(完了)', 10, 'div.ec-pageHeader h1'); // メールチェック $message = $I->lastMessage(); @@ -277,17 +277,18 @@ public function other_お問い合わせ_異常(AcceptanceTester $I) $I->wantTo('EF0607-UC01-T03 お問い合わせ 異常'); $I->amOnPage('/contact'); - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); - $I->see('入力されていません', '.ec-contactRole .error .ec-errorMessage:last-child'); + $I->waitForText('入力されていません', 10, '.ec-contactRole .error .ec-errorMessage:last-child'); } public function other_サイトマップ(AcceptanceTester $I) { $I->wantTo('EF0608-UC01-T01_サイトマップ'); $I->amOnPage('/sitemap.xml'); + $I->wait(10); $I->see('/sitemap_page.xml'); $I->see('/sitemap_category.xml'); @@ -304,24 +305,28 @@ public function other_サイトマップ_ページ(AcceptanceTester $I) // 表示確認 $I->amOnPage($sitemapUrl); + $I->wait(10); $I->see($topPageLoc); // メタ設定 → robots noindex → 非表示になる PageManagePage::go($I)->ページ編集('TOPページ'); PageEditPage::at($I)->入力_メタ_robot('noindex')->登録(); $I->amOnPage($sitemapUrl); + $I->wait(10); $I->dontSee($topPageLoc); // メタ設定 → robots none → 非表示になる PageManagePage::go($I)->ページ編集('TOPページ'); PageEditPage::at($I)->入力_メタ_robot('none')->登録(); $I->amOnPage($sitemapUrl); + $I->wait(10); $I->dontSee($topPageLoc); // メタ設定 → robots 解除 → 表示される PageManagePage::go($I)->ページ編集('TOPページ'); PageEditPage::at($I)->入力_メタ_robot('')->登録(); $I->amOnPage($sitemapUrl); + $I->wait(10); $I->see($topPageLoc); } @@ -329,6 +334,7 @@ public function other_サイトマップ_カテゴリ(AcceptanceTester $I) { $I->wantTo('EF0608-UC01-T03_サイトマップ(カテゴリ)'); $I->amOnPage('/sitemap_category.xml'); + $I->wait(10); $I->see('/products/list?category_id=1'); } @@ -359,7 +365,7 @@ public function other_サイトマップ_商品(AcceptanceTester $I) // 在庫なし商品の準備 $I->amOnPage($productEditUrl); ProductEditPage::at($I)->入力_在庫数(0)->登録(); - $I->see('保存しました', ProductEditPage::$登録結果メッセージ); + $I->waitForText('保存しました', 10, ProductEditPage::$登録結果メッセージ); // 公開・在庫切れ商品を表示しない $I->amOnPage($productEditUrl); diff --git a/codeception/acceptance/EF08InvoiceCest.php b/codeception/acceptance/EF08InvoiceCest.php index b3c135e474d..b9083ea4122 100644 --- a/codeception/acceptance/EF08InvoiceCest.php +++ b/codeception/acceptance/EF08InvoiceCest.php @@ -55,6 +55,7 @@ public function _before(AcceptanceTester $I) PaymentEditPage::at($I) ->入力_手数料('2187') ->登録(); + $I->expect('商品登録をします'); ProductEditPage::go($I) ->入力_商品名('チョコ') @@ -62,6 +63,7 @@ public function _before(AcceptanceTester $I) ->入力_カテゴリ(1) ->入力_公開() ->登録(); + $I->waitForText('保存しました'); ProductEditPage::go($I) ->入力_商品名('バニラ') @@ -69,6 +71,7 @@ public function _before(AcceptanceTester $I) ->入力_カテゴリ(1) ->入力_公開() ->登録(); + $I->waitForText('保存しました'); ProductEditPage::go($I) ->入力_商品名('抹茶') @@ -77,6 +80,7 @@ public function _before(AcceptanceTester $I) ->入力_税率(8) ->入力_公開() ->登録(); + $I->waitForText('保存しました'); } public function invoice_商品購入_税額確認(AcceptanceTester $I) @@ -115,6 +119,7 @@ public function invoice_商品購入_税額確認(AcceptanceTester $I) $I->scrollTo('#shopping-form div.ec-orderRole__summary div.ec-totalBox button'); $I->wait(2); ShoppingPage::at($I)->確認する(); + $I->waitForText('ご注文内容のご確認', 10, 'div.ec-pageHeader h1'); $I->expect('注文内容を確認します'); $I->see('¥787,000', ['xpath' => ShoppingPage::$小計]); From b9a293b8da61d609771be2947f67afd7d64a0189 Mon Sep 17 00:00:00 2001 From: shinya Date: Wed, 17 May 2023 10:37:03 +0900 Subject: [PATCH 5/6] Revert "wait for elements" This reverts commit 3c2ecb738859adb4a890ac70d352127a121d0309. --- codeception/_support/AcceptanceTester.php | 1 - codeception/_support/Page/AbstractPage.php | 1 - .../_support/Page/Admin/AbstractAdminPage.php | 8 +- .../Page/Admin/MasterDataManagePage.php | 1 - .../_support/Page/Admin/ShippingEditPage.php | 3 +- codeception/_support/Page/Front/CartPage.php | 4 +- codeception/_support/Page/Front/MyPage.php | 2 +- .../_support/Page/Front/ProductListPage.php | 2 - .../_support/Page/Front/ShoppingPage.php | 2 - .../_support/Page/Install/InstallPage.php | 2 +- .../acceptance/EA06ContentsManagementCest.php | 85 +++++----- codeception/acceptance/EA07BasicinfoCest.php | 151 +++++++++--------- codeception/acceptance/EA08SysteminfoCest.php | 8 +- codeception/acceptance/EA09ShippingCest.php | 3 +- codeception/acceptance/EF06OtherCest.php | 48 +++--- codeception/acceptance/EF08InvoiceCest.php | 5 - 16 files changed, 149 insertions(+), 177 deletions(-) diff --git a/codeception/_support/AcceptanceTester.php b/codeception/_support/AcceptanceTester.php index 6def0e91c79..3624ea5d3ae 100644 --- a/codeception/_support/AcceptanceTester.php +++ b/codeception/_support/AcceptanceTester.php @@ -101,7 +101,6 @@ public function logoutAsMember() { $I = $this; $I->amOnPage('/'); - $I->waitForElement('.ec-headerNaviRole .ec-headerNav .ec-headerNav__item:nth-child(3) a'); $isLogin = $I->grabTextFrom('.ec-headerNaviRole .ec-headerNav .ec-headerNav__item:nth-child(3) a'); if ($isLogin == 'ログアウト') { $I->wait(1); diff --git a/codeception/_support/Page/AbstractPage.php b/codeception/_support/Page/AbstractPage.php index b5d73a6a3d0..bfc334621cb 100644 --- a/codeception/_support/Page/AbstractPage.php +++ b/codeception/_support/Page/AbstractPage.php @@ -36,7 +36,6 @@ public function __construct(\AcceptanceTester $I) protected function goPage($url, $pageTitle = '') { $this->tester->amOnPage($url); - $this->tester->waitForJS("return location.pathname + location.search == '${url}'", 30); return $this; } diff --git a/codeception/_support/Page/Admin/AbstractAdminPage.php b/codeception/_support/Page/Admin/AbstractAdminPage.php index b6e63fbf9d4..a3b9009f3c0 100644 --- a/codeception/_support/Page/Admin/AbstractAdminPage.php +++ b/codeception/_support/Page/Admin/AbstractAdminPage.php @@ -29,14 +29,10 @@ abstract class AbstractAdminPage extends AbstractPage protected function goPage($url, $pageTitle = '') { $config = Fixtures::get('config'); - $adminUrl = '/'.$config['eccube_admin_route'].$url; - $this->tester->amOnPage($adminUrl); + $this->tester->amOnPage('/'.$config['eccube_admin_route'].$url); if ($pageTitle) { return $this->atPage($pageTitle); - } else { - $this->tester->wait(5); - $this->tester->waitForJS("return location.pathname + location.search == '${adminUrl}'"); } return $this; @@ -51,7 +47,7 @@ protected function goPage($url, $pageTitle = '') */ protected function atPage($pageTitle) { - $this->tester->waitForText($pageTitle, 10, '.c-container .c-pageTitle__titles'); + $this->tester->see($pageTitle, '.c-container .c-pageTitle__titles'); return $this; } diff --git a/codeception/_support/Page/Admin/MasterDataManagePage.php b/codeception/_support/Page/Admin/MasterDataManagePage.php index 1efd3e69cad..335d27d378f 100644 --- a/codeception/_support/Page/Admin/MasterDataManagePage.php +++ b/codeception/_support/Page/Admin/MasterDataManagePage.php @@ -39,7 +39,6 @@ public function 選択($option) { $this->tester->selectOption(['id' => 'admin_system_masterdata_masterdata'], $option); $this->tester->click('#form1 button'); - $this->tester->waitForElement(['xpath' => "//select[@id='admin_system_masterdata_masterdata']/option[@selected][contains(text(), '${option}')]"]); return $this; } diff --git a/codeception/_support/Page/Admin/ShippingEditPage.php b/codeception/_support/Page/Admin/ShippingEditPage.php index 93df50a6943..5d673ea6516 100644 --- a/codeception/_support/Page/Admin/ShippingEditPage.php +++ b/codeception/_support/Page/Admin/ShippingEditPage.php @@ -173,7 +173,7 @@ public function 商品検索($value = '') { $this->tester->scrollTo(['css' => '#shipping-product_1 > div > button'], 0, -50); $this->tester->click(['css' => '#shipping-product_1 > div > button']); - $this->tester->waitForElementVisible(['id' => 'admin_search_product_id']); + $this->tester->waitForElementVisible(['id' => 'addProduct']); $this->tester->fillField(['id' => 'admin_search_product_id'], $value); $this->tester->click('#searchProductModalButton'); $this->tester->waitForElementVisible('#searchProductModalList table'); @@ -185,7 +185,6 @@ public function 商品検索結果_選択($rowNum) { $rowNum = $rowNum * 2; $this->tester->click("#searchProductModalList > table > tbody > tr:nth-child(${rowNum}) > td.align-middle.pe-3.text-end > button"); - $this->tester->waitForElementNotVisible('#searchProductModalList'); return $this; } diff --git a/codeception/_support/Page/Front/CartPage.php b/codeception/_support/Page/Front/CartPage.php index 64d14967767..d24b7ad2736 100644 --- a/codeception/_support/Page/Front/CartPage.php +++ b/codeception/_support/Page/Front/CartPage.php @@ -45,9 +45,7 @@ public function 商品名($index) public function 商品数量($index) { - $selector = ['xpath' => "//div[@class='ec-cartRole']//ul[@class='ec-cartRow'][position()=${index}]//div[@class='ec-cartRow__amount']"]; - $this->tester->waitForElement($selector); - return $this->tester->grabTextFrom($selector); + return $this->tester->grabTextFrom(['xpath' => "//div[@class='ec-cartRole']//ul[@class='ec-cartRow'][position()=${index}]//div[@class='ec-cartRow__amount']"]); } public function 明細数() diff --git a/codeception/_support/Page/Front/MyPage.php b/codeception/_support/Page/Front/MyPage.php index c2dc8fd974d..9dd9f5031a9 100644 --- a/codeception/_support/Page/Front/MyPage.php +++ b/codeception/_support/Page/Front/MyPage.php @@ -29,7 +29,7 @@ public function __construct(\AcceptanceTester $I) public static function go($I) { $page = new self($I); - $page->goPage('/mypage/'); + $page->goPage('/mypage'); return $page; } diff --git a/codeception/_support/Page/Front/ProductListPage.php b/codeception/_support/Page/Front/ProductListPage.php index f9a5820e766..233d76d6a78 100644 --- a/codeception/_support/Page/Front/ProductListPage.php +++ b/codeception/_support/Page/Front/ProductListPage.php @@ -31,7 +31,6 @@ public function __construct(\AcceptanceTester $I) public function 表示件数設定($num) { $this->tester->selectOption(['css' => "select[name = 'disp_number']"], "${num}件"); - $this->tester->waitForElement(['css' => "select[name='disp_number'] > option[value='${num}'][selected]"]); return $this; } @@ -39,7 +38,6 @@ public function 表示件数設定($num) public function 表示順設定($sort) { $this->tester->selectOption(['css' => "select[name = 'orderby']"], $sort); - $this->tester->waitForElement(['xpath' => "//select[@name='orderby']/option[text()='${sort}']"]); return $this; } diff --git a/codeception/_support/Page/Front/ShoppingPage.php b/codeception/_support/Page/Front/ShoppingPage.php index 3dac5703ab7..e337d03d2df 100644 --- a/codeception/_support/Page/Front/ShoppingPage.php +++ b/codeception/_support/Page/Front/ShoppingPage.php @@ -73,7 +73,6 @@ public function 入力_姓($value) public function 入力_利用ポイント($value) { $this->tester->executeJS("$('#shopping_order_use_point').val('{$value}').change()"); - $this->tester->wait(5); return $this; } @@ -81,7 +80,6 @@ public function 入力_利用ポイント($value) public function 選択_配送方法($id) { $this->tester->selectOption(['id' => 'shopping_order_Shippings_0_Delivery'], $id); - $this->tester->wait(5); return $this; } diff --git a/codeception/_support/Page/Install/InstallPage.php b/codeception/_support/Page/Install/InstallPage.php index 3d0f9a75d60..7cb43b14478 100644 --- a/codeception/_support/Page/Install/InstallPage.php +++ b/codeception/_support/Page/Install/InstallPage.php @@ -25,7 +25,7 @@ public static function go(\AcceptanceTester $I) { $page = new self($I); - return $page->goPage('/install/step1'); + return $page->goPage('/'); } public function step1_次へボタンをクリック() diff --git a/codeception/acceptance/EA06ContentsManagementCest.php b/codeception/acceptance/EA06ContentsManagementCest.php index 938b8675093..0c25dffd8c9 100644 --- a/codeception/acceptance/EA06ContentsManagementCest.php +++ b/codeception/acceptance/EA06ContentsManagementCest.php @@ -60,7 +60,7 @@ public function contentsmanagement_新着情報管理(AcceptanceTester $I) ->入力_本文('newsnewsnewsnewsnews') ->登録(); - $I->waitForText('保存しました', 10, NewsManagePage::$登録完了メッセージ); + $I->see('保存しました', NewsManagePage::$登録完了メッセージ); // EA0601-UC02-T01_新着情報管理(編集) NewsManagePage::go($I)->一覧_編集(2); @@ -70,7 +70,7 @@ public function contentsmanagement_新着情報管理(AcceptanceTester $I) ->入力_タイトル($new_title) ->登録(); - $I->waitForText('保存しました', 10, NewsManagePage::$登録完了メッセージ); + $I->see('保存しました', NewsManagePage::$登録完了メッセージ); $NewsListPage = NewsManagePage::go($I); $I->assertEquals($new_title, $NewsListPage->一覧_タイトル(2)); @@ -78,7 +78,6 @@ public function contentsmanagement_新着情報管理(AcceptanceTester $I) // EA0601-UC03-T01_新着情報管理(削除) $NewsListPage->一覧_削除(2); $NewsListPage->ポップアップを受け入れます(2); - $I->waitForText('削除しました', 10, NewsManagePage::$登録完了メッセージ); $I->assertNotEquals($new_title, $NewsListPage->一覧_タイトル(2)); } @@ -108,7 +107,7 @@ public function contentsmanagement_ファイル管理(AcceptanceTester $I) ->入力_ファイル('upload.txt') ->アップロード(); - $I->waitForText('upload.txt', 10, $FileManagePage->ファイル名(1)); + $I->see('upload.txt', $FileManagePage->ファイル名(1)); $FileManagePage->一覧_ダウンロード(1); $UploadedFile = $I->getLastDownloadFile('/^upload\.txt$/'); @@ -121,7 +120,7 @@ public function contentsmanagement_ファイル管理(AcceptanceTester $I) $FileManagePage->一覧_表示(1); $I->switchToNewWindow(); - $I->waitForText('This is uploaded file.'); + $I->see('This is uploaded file.'); FileManagePage::go($I) ->一覧_削除(1) @@ -132,14 +131,14 @@ public function contentsmanagement_ファイル管理(AcceptanceTester $I) ->入力_フォルダ名('folder1') ->フォルダ作成(); - $I->waitForText('folder1', 10, $FileManagePage->ファイル名(1)); + $I->see('folder1', $FileManagePage->ファイル名(1)); $FileManagePage->一覧_ファイル名_クリック(1); - $I->waitForText('folder1', 10, $FileManagePage->パンくず(2)); + $I->see('folder1', $FileManagePage->パンくず(2)); $config = Fixtures::get('config'); $I->amOnPage('/'.$config['eccube_admin_route'].'/content/file_manager'); - $I->waitForText('ファイル管理コンテンツ管理', 10, '.c-pageTitle'); + $I->see('ファイル管理コンテンツ管理', '.c-pageTitle'); FileManagePage::go($I) ->一覧_削除(1) @@ -157,7 +156,7 @@ public function contentsmanagement_ファイル管理_php(AcceptanceTester $I) ->入力_ファイル('upload.php') ->アップロード(); - $I->waitForText('アップロードできないファイル拡張子です。', 10, '#form1 .errormsg'); + $I->see('アップロードできないファイル拡張子です。', '#form1 .errormsg'); } /** @@ -175,7 +174,7 @@ public function contentsmanagement_ファイル管理_ファイルアップロ } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/file_manager'); - $I->waitForText('この機能は管理者によって制限されています。'); + $I->see('この機能は管理者によって制限されています。'); } /** @@ -199,17 +198,17 @@ public function contentsmanagement_ページ管理(AcceptanceTester $I) ->入力_内容($page) ->入力_PC用レイアウト('下層ページ用レイアウト') ->登録(); - $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); + $I->see('保存しました', PageEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); - $I->waitForText($page, 10, 'body'); + $I->see($page, 'body'); /* 編集 */ PageManagePage::go($I)->ページ編集($page); PageEditPage::at($I) ->入力_内容("{% extends 'default_frame.twig' %}") ->登録(); - $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); + $I->see('保存しました', PageEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); $config = Fixtures::get('config'); @@ -221,9 +220,9 @@ public function contentsmanagement_ページ管理(AcceptanceTester $I) ->ブロックを移動('新着情報', '#position_4') ->登録(); - $I->waitForText('保存しました', 10, LayoutEditPage::$登録完了メッセージ); + $I->see('保存しました', LayoutEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); - $I->waitForText('新着情報', 10, '.ec-newsRole'); + $I->see('新着情報', '.ec-newsRole'); LayoutManagePage::go($I)->レイアウト編集('下層ページ用レイアウト'); LayoutEditPage::at($I) @@ -258,7 +257,7 @@ public function contentsmanagement_ページ管理(AcceptanceTester $I) /* 削除 */ PageManagePage::go($I)->削除($page); - $I->waitForText('削除しました', 10, PageEditPage::$登録完了メッセージ); + $I->see('削除しました', PageEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); $I->seeInTitle('ページがみつかりません'); } @@ -277,10 +276,10 @@ public function contentsmanagement_ページ管理_ファイルアップロー } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/page/new'); - $I->waitForText('この機能は管理者によって制限されています。'); + $I->see('この機能は管理者によって制限されています。'); $I->amOnPage('/'.$config['eccube_admin_route'].'/content/page/1/edit'); - $I->waitForText('この機能は管理者によって制限されています。'); + $I->see('この機能は管理者によって制限されています。'); } @@ -306,7 +305,7 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) ->端末種別('PC') ->ブロックを移動('新着情報', '#position_3') ->登録(); - $I->waitForText('保存しました'); + $I->see('保存しました'); // レイアウトを適用した新規ページを作成 PageManagePage::go($I)->新規入力(); @@ -316,7 +315,7 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) ->入力_URL($pageName) ->入力_PC用レイアウト($layoutName) ->登録(); - $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); + $I->see('保存しました', PageEditPage::$登録完了メッセージ); // 作成したページの表示確認 (新着情報がヘッダエリアに表示されていることを確認) $I->amOnPage('/user_data/'.$pageName); @@ -327,7 +326,7 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) LayoutEditPage::at($I) ->ブロックを移動('新着情報', '#position_10') ->登録(); - $I->waitForText('保存しました', 10, LayoutEditPage::$登録完了メッセージ); + $I->see('保存しました', LayoutEditPage::$登録完了メッセージ); // 編集したページの表示確認 (新着情報がフッタエリアに表示されていることを確認) $I->amOnPage('/user_data/'.$pageName); @@ -336,15 +335,15 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) // レイアウトの削除 → レイアウトを適用したページがあるため削除できない LayoutManagePage::go($I)->削除($layoutName); - $I->waitForText('削除できませんでした', 10, LayoutManagePage::$登録完了メッセージ); + $I->see('削除できませんでした', LayoutManagePage::$登録完了メッセージ); // レイアウトを適用したページを削除 PageManagePage::go($I)->削除($pageName); - $I->waitForText('削除しました', 10, PageEditPage::$登録完了メッセージ); + $I->see('削除しました', PageEditPage::$登録完了メッセージ); // レイアウトの削除 LayoutManagePage::go($I)->削除($layoutName); - $I->waitForText('削除しました', 10, LayoutManagePage::$登録完了メッセージ); + $I->see('削除しました', LayoutManagePage::$登録完了メッセージ); $I->cantSee($layoutName, '.contentsArea'); } @@ -383,7 +382,7 @@ public function contentsmanagement_ブロック管理(AcceptanceTester $I) ->入力_ファイル名($block) ->入力_データ('
block1
') ->登録(); - $I->waitForText('保存しました', 10, BlockEditPage::$登録完了メッセージ); + $I->see('保存しました', BlockEditPage::$登録完了メッセージ); // TOPページにブロックを配置 LayoutManagePage::go($I)->レイアウト編集('トップページ用レイアウト'); @@ -392,16 +391,16 @@ public function contentsmanagement_ブロック管理(AcceptanceTester $I) ->登録(); $I->amOnPage('/'); - $I->waitForText('block1', 10, ['id' => $block]); + $I->see('block1', ['id' => $block]); BlockManagePage::go($I)->編集(1); BlockEditPage::at($I) ->入力_データ('
welcome
') ->登録(); - $I->waitForText('保存しました', 10, BlockEditPage::$登録完了メッセージ); + $I->see('保存しました', BlockEditPage::$登録完了メッセージ); $I->amOnPage('/'); - $I->waitForText('welcome', 10, ['id' => $block]); + $I->see('welcome', ['id' => $block]); // EA0604-UC01-T03_ブロック管理(削除) BlockManagePage::go($I) @@ -426,11 +425,11 @@ public function contentsmanagement_ブロック管理_ファイルアップロ } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/block/new'); - $I->waitForText('この機能は管理者によって制限されています。'); + $I->see('この機能は管理者によって制限されています。'); $config = Fixtures::get('config'); $I->amOnPage('/'.$config['eccube_admin_route'].'/content/block/1/edit'); - $I->waitForText('この機能は管理者によって制限されています。'); + $I->see('この機能は管理者によって制限されています。'); } @@ -450,7 +449,7 @@ public function contentsmanagement_CSS管理(AcceptanceTester $I) ->登録(); $I->amOnPage('/'); $I->reloadPage(); - $I->waitForText('お気に入り', 10, '.ec-headerNaviRole'); + $I->see('お気に入り', '.ec-headerNaviRole'); } /** @@ -467,7 +466,7 @@ public function contentsmanagement_CSS管理_ファイルアップロード制 } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/css'); - $I->waitForText('この機能は管理者によって制限されています。'); + $I->see('この機能は管理者によって制限されています。'); } public function contentsmanagement_JavaScript管理(AcceptanceTester $I) @@ -481,7 +480,7 @@ public function contentsmanagement_JavaScript管理(AcceptanceTester $I) )->登録(); $I->amOnPage('/'); $I->reloadPage(); - $I->waitForText($test_text, 10, '.ec-headerNaviRole'); + $I->see($test_text, '.ec-headerNaviRole'); JavaScriptManagePage::go($I)->入力('/* */')->登録(); $I->amOnPage('/'); @@ -503,7 +502,7 @@ public function contentsmanagement_JavaScript管理_ファイルアップロー } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/js'); - $I->waitForText('この機能は管理者によって制限されています。'); + $I->see('この機能は管理者によって制限されています。'); } @@ -514,12 +513,12 @@ public function contentsmanagement_メンテナンス管理(AcceptanceTester $I) $I->expect('メンテナンスモードを有効にします'); MaintenanceManagePage::go($I) ->メンテナンス有効無効(); - $I->waitForText('メンテナンスモードを有効にしました。', 10, MaintenanceManagePage::$完了メッセージ); + $I->see('メンテナンスモードを有効にしました。', MaintenanceManagePage::$完了メッセージ); $I->expect('トップページを確認します'); $I->amOnPage('/'); - $I->waitForText('メンテナンスモードが有効になっています。', null,'#page_homepage > div.ec-maintenanceAlert > div'); - $I->waitForText('全ての商品', 10, TopPage::$検索_カテゴリ選択); + $I->see('メンテナンスモードが有効になっています。', '#page_homepage > div.ec-maintenanceAlert > div'); + $I->see('全ての商品', TopPage::$検索_カテゴリ選択); $I->expect('ログアウトします'); $config = Fixtures::get('config'); @@ -528,7 +527,7 @@ public function contentsmanagement_メンテナンス管理(AcceptanceTester $I) $I->expect('トップページを確認します'); $I->amOnPage('/'); $I->dontSee('メンテナンスモードが有効になっています。', '#page_homepage > div.ec-maintenanceAlert > div'); - $I->waitForText('ただいまメンテナンス中です。', 10, 'body > div > div > div > div > p.ec-404Role__title.ec-reportHeading'); + $I->see('ただいまメンテナンス中です。', 'body > div > div > div > div > p.ec-404Role__title.ec-reportHeading'); // 画面遷移がスムーズにいかない場合があるため、ログイン画面に遷移させておく $account = Fixtures::get('admin_account'); @@ -542,12 +541,12 @@ public function contentsmanagement_メンテナンス管理(AcceptanceTester $I) MaintenanceManagePage::go($I) ->メンテナンス有効無効(); - $I->waitForText('メンテナンスモードを無効にしました。', 10, MaintenanceManagePage::$完了メッセージ); + $I->see('メンテナンスモードを無効にしました。', MaintenanceManagePage::$完了メッセージ); $I->expect('トップページを確認します'); $I->amOnPage('/'); $I->dontSee('メンテナンスモードが有効になっています。', '#page_homepage > div.ec-maintenanceAlert > div'); - $I->waitForText('全ての商品', 10, TopPage::$検索_カテゴリ選択); + $I->see('全ての商品', TopPage::$検索_カテゴリ選択); } public function contentsmanagement_キャッシュ管理(AcceptanceTester $I) @@ -556,7 +555,7 @@ public function contentsmanagement_キャッシュ管理(AcceptanceTester $I) $I->expect('トップページを確認します'); $I->amOnPage('/'); - $I->waitForText('EC-CUBE SHOP', 10, 'h1'); + $I->see('EC-CUBE SHOP', 'h1'); $I->expect('キャッシュを削除します'); $config = Fixtures::get('config'); @@ -564,10 +563,10 @@ public function contentsmanagement_キャッシュ管理(AcceptanceTester $I) $I->click('.c-contentsArea .btn-ec-conversion'); $I->waitForElement('.alert', 10); - $I->waitForText('削除しました', 10, '.alert'); + $I->see('削除しました', '.alert'); $I->expect('トップページを確認します'); $I->amOnPage('/'); - $I->waitForText('EC-CUBE SHOP', 10, 'h1'); + $I->see('EC-CUBE SHOP', 'h1'); } } diff --git a/codeception/acceptance/EA07BasicinfoCest.php b/codeception/acceptance/EA07BasicinfoCest.php index a2361f6daa6..ceff12e7e25 100644 --- a/codeception/acceptance/EA07BasicinfoCest.php +++ b/codeception/acceptance/EA07BasicinfoCest.php @@ -77,14 +77,14 @@ public function basicinfo_基本設定(AcceptanceTester $I) $I->wait(1); $page->登録(); - $I->waitForText('保存しました', 10, ShopSettingPage::$登録完了メッセージ); + $I->see('保存しました', ShopSettingPage::$登録完了メッセージ); $I->amOnPage('/help/about'); - $I->waitForText('サンプル会社名', 10, '#help_about_box__company_name dd'); - $I->waitForText('サンプルショップ', 10, '#help_about_box__shop_name dd'); - $I->waitForText('1000001', 10, '#help_about_box__address dd'); - $I->waitForText('東京都千代田区千代田', 10, '#help_about_box__address dd'); - $I->waitForText('05055555555', 10, '#help_about_box__phone_number dd'); + $I->see('サンプル会社名', '#help_about_box__company_name dd'); + $I->see('サンプルショップ', '#help_about_box__shop_name dd'); + $I->see('1000001', '#help_about_box__address dd'); + $I->see('東京都千代田区千代田', '#help_about_box__address dd'); + $I->see('05055555555', '#help_about_box__phone_number dd'); } public function basicinfo_会員設定_仮会員機能(AcceptanceTester $I) @@ -107,7 +107,7 @@ public function basicinfo_会員設定_仮会員機能(AcceptanceTester $I) $page = CustomerManagePage::go($I); $I->fillField('#admin_search_customer_multi', $email); $page->詳細検索_本会員(); - $I->waitForText('検索結果:1件が該当しました', 10, CustomerManagePage::$検索結果メッセージ); + $I->see('検索結果:1件が該当しました', CustomerManagePage::$検索結果メッセージ); $I->see($email); $I->wantTo('EA0701-UC01-T05_会員設定の設定、編集(仮会員機能:有効)'); @@ -129,7 +129,7 @@ public function basicinfo_会員設定_仮会員機能(AcceptanceTester $I) $page = CustomerManagePage::go($I); $I->fillField('#admin_search_customer_multi', $email); $page->詳細検索_仮会員(); - $I->waitForText('検索結果:1件が該当しました', 10, CustomerManagePage::$検索結果メッセージ); + $I->see('検索結果:1件が該当しました', CustomerManagePage::$検索結果メッセージ); $I->see($email); } @@ -154,7 +154,7 @@ public function basicinfo_会員設定_マイページ注文状況(AcceptanceTes ->登録(); MyPage::go($I)->注文履歴(); - $I->waitForText('ご注文状況', 10, '.ec-historyRole'); + $I->see('ご注文状況', '.ec-historyRole'); } public function basicinfo_会員設定_お気に入り(AcceptanceTester $I) @@ -178,10 +178,10 @@ public function basicinfo_会員設定_お気に入り(AcceptanceTester $I) ->登録(); $I->amOnPage('/'); - $I->waitForText('お気に入り', 10, '.ec-headerNav'); + $I->see('お気に入り', '.ec-headerNav'); $I->amOnPage('/products/detail/1'); - $I->waitForText('お気に入りに追加', 10, ['id' => 'favorite']); + $I->see('お気に入りに追加', '.ec-productRole__btn'); } public function basicinfo_会員設定_自動ログイン(AcceptanceTester $I) @@ -206,7 +206,7 @@ public function basicinfo_会員設定_自動ログイン(AcceptanceTester $I) ->登録(); $I->amOnPage('/mypage/login'); - $I->waitForText('次回から自動的にログインする', 10, '#login_mypage'); + $I->see('次回から自動的にログインする', '#login_mypage'); $I->checkOption('#login_memory'); $I->submitForm('#login_mypage', [ 'login_email' => $customer->getEmail(), @@ -215,7 +215,7 @@ public function basicinfo_会員設定_自動ログイン(AcceptanceTester $I) $I->amOnPage('/mypage'); $I->seeCookie('eccube_remember_me'); - $I->waitForText('ログアウト', 10, '.ec-headerNaviRole'); + $I->see('ログアウト', '.ec-headerNaviRole'); $I->dontSee('ログイン', '.ec-headerNaviRole'); $I->logoutAsMember(); @@ -231,7 +231,7 @@ public function basicinfo_商品設定の設定、編集_在庫切れ商品の ProductEditPage::at($I) ->入力_在庫数(0) ->登録(); - $I->waitForText('保存しました', 10, ProductEditPage::$登録結果メッセージ); + $I->see('保存しました', ProductEditPage::$登録結果メッセージ); $I->wantTo('EA0701-UC01-T13 商品設定の設定、編集(在庫切れ商品の非表示:有効)'); @@ -243,7 +243,7 @@ public function basicinfo_商品設定の設定、編集_在庫切れ商品の $topPage = TopPage::go($I); $I->fillField(['class' => 'search-name'], 'チェリーアイスサンド'); $topPage->検索(); - $I->waitForText('お探しの商品は見つかりませんでした'); + $I->see('お探しの商品は見つかりませんでした'); $I->wantTo('EA0701-UC01-T14 商品設定の設定、編集(在庫切れ商品の非表示:無効)'); @@ -255,7 +255,7 @@ public function basicinfo_商品設定の設定、編集_在庫切れ商品の $topPage = TopPage::go($I); $I->fillField(['class' => 'search-name'], 'チェリーアイスサンド'); $topPage->検索(); - $I->waitForText('チェリーアイスサンド', 10, '.ec-shelfGrid'); + $I->see('チェリーアイスサンド', '.ec-shelfGrid'); } public function basicinfo_税設定(AcceptanceTester $I) @@ -269,7 +269,7 @@ public function basicinfo_税設定(AcceptanceTester $I) $I->expect('商品登録画面で、税率の入力欄が表示されている'); ProductEditPage::go($I); - $I->waitForText('税率', 10, '.c-contentsArea'); + $I->see('税率', '.c-contentsArea'); $I->seeElement('#admin_product_class_tax_rate'); $I->amGoingTo('税設定を無効化'); @@ -303,7 +303,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) ->入力_販売価格(2800) ->入力_在庫数(1000) ->登録(); - $I->waitForText('保存しました', 10, ProductEditPage::$登録結果メッセージ); + $I->see('保存しました', ProductEditPage::$登録結果メッセージ); $I->amGoingTo('会員を作成'); $createCustomer = Fixtures::get('createCustomer'); @@ -325,21 +325,21 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('注文手続き画面・確認画面にて、加算ポイントが表示されていること'); CartPage::go($I)->レジに進む(); - $I->waitForText('加算ポイント'); + $I->see('加算ポイント'); $I->see($expected_point_text, CartPage::$加算ポイント); ShoppingPage::at($I)->確認する(); - $I->waitForText('加算ポイント'); + $I->see('加算ポイント'); $I->see($expected_point_text, CartPage::$加算ポイント); $I->amGoingTo('注文完了'); ShoppingConfirmPage::at($I)->注文する(); - $I->waitForText('ご注文ありがとうございました'); + $I->see('ご注文ありがとうございました'); $I->expect('マイベージ 注文詳細にて、加算ポイントが表示されていること'); MyPage::go($I)->注文履歴詳細(0); HistoryPage::at($I); - $I->waitForText('加算ポイント'); + $I->see('加算ポイント'); $I->see($expected_point_text, HistoryPage::$加算ポイント); $I->expect('管理画面・受注管理にて、加算ポイントが表示されていること'); @@ -362,7 +362,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('マイベージにて、ポイントが付与されていること'); MyPage::go($I); - $I->waitForText('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); + $I->see('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); // "ポイント換算レート"に任意の値を設定し、ポイント利用の確認を行う $I->wantTo('EA0701-UC01-T16 ポイント設定(有効) ポイント換算レート'); @@ -374,7 +374,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('所持ポイントが表示されていること'); CartPage::go($I)->レジに進む(); - $I->waitForText('利用ポイント'); + $I->see('利用ポイント'); $I->see(number_format($customerPoint).' pt が利用可能です。'); $I->amGoingTo('利用ポイントを設定'); @@ -388,7 +388,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->amGoingTo('注文完了 (ポイントが減算される)'); ShoppingConfirmPage::at($I)->注文する(); - $I->waitForText('ご注文ありがとうございました'); + $I->see('ご注文ありがとうございました'); $customerPoint -= $expected_point; $I->expect('管理画面・受注管理にて、利用ポイントが計算されていること'); @@ -428,7 +428,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('マイベージにて、ポイントが減少していること'); MyPage::go($I); - $I->waitForText('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); + $I->see('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); } public function basicinfo_ポイント設定_無効(AcceptanceTester $I) @@ -459,7 +459,7 @@ public function basicinfo_ポイント設定_無効(AcceptanceTester $I) $I->amGoingTo('注文完了'); ShoppingConfirmPage::at($I)->注文する(); - $I->waitForText('ご注文ありがとうございました'); + $I->see('ご注文ありがとうございました'); $I->expect('マイベージにて、加算ポイントが表示されていないこと'); MyPage::go($I)->注文履歴詳細(0); @@ -497,7 +497,7 @@ public function basicinfo_特定商取引法の設定(AcceptanceTester $I) ->入力(TradelawSettingPage::$その他06, 'その他06名称', 'その他06説明') ->登録(); - $I->waitForText('保存しました', 10, TradelawSettingPage::$登録完了メッセージ); + $I->see('保存しました', TradelawSettingPage::$登録完了メッセージ); $I->expect('「特定商取引法に基づく表記」ページを表示して変更が反映されていることを確認します'); @@ -543,19 +543,19 @@ public function basicinfo_特定商取引法の設定(AcceptanceTester $I) ->カートに入れる(1) ->カートへ進む(); CartPage::go($I)->レジに進む(); - $I->waitForText('引き渡し時期名称', 10, ['css' => '#shopping-form']); - $I->waitForText('引き渡し時期説明', 10, ['css' => '#shopping-form']); - $I->waitForText('返品交換について名称', 10, ['css' => '#shopping-form']); - $I->waitForText('返品交換について説明', 10, ['css' => '#shopping-form']); + $I->see('引き渡し時期名称', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->see('引き渡し時期説明', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->see('返品交換について名称', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->see('返品交換について説明', ['css' => '#shopping-form div.ec-orderConfirm']); ShoppingPage::at($I)->確認する(); - $I->waitForText('引き渡し時期名称', 10, ['css' => '#shopping-form']); - $I->waitForText('引き渡し時期説明', 10, ['css' => '#shopping-form']); - $I->waitForText('返品交換について名称', 10, ['css' => '#shopping-form']); - $I->waitForText('返品交換について説明', 10, ['css' => '#shopping-form']); + $I->see('引き渡し時期名称', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->see('引き渡し時期説明', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->see('返品交換について名称', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->see('返品交換について説明', ['css' => '#shopping-form div.ec-orderConfirm']); ShoppingConfirmPage::at($I)->注文する(); - $I->waitForText('ご注文ありがとうございました'); + $I->see('ご注文ありがとうございました'); } public function basicinfo_会員規約(AcceptanceTester $I) @@ -572,7 +572,7 @@ public function basicinfo_会員規約(AcceptanceTester $I) ->入力_内容($after) ->登録(); - $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); + $I->see('保存しました', PageEditPage::$登録完了メッセージ); $I->amOnPage('/help/agreement'); $I->see($test_text); @@ -585,7 +585,7 @@ public function basicinfo_支払方法一覧(AcceptanceTester $I) // 表示 $PaymentManagePage = PaymentManagePage::go($I); - $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(1)); + $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(1)); } /** @@ -600,15 +600,15 @@ public function basicinfo_支払方法入れ替え(AcceptanceTester $I) $PaymentManagePage = PaymentManagePage::go($I); // 入れ替え - $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(1)); + $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(1)); $PaymentManagePage->一覧_下に(1); $PaymentManagePage = PaymentManagePage::go($I); - $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(2)); + $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(2)); $PaymentManagePage->一覧_上に(2); $PaymentManagePage = PaymentManagePage::go($I); - $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(1)); + $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(1)); } /** @@ -632,10 +632,10 @@ public function basicinfo_支払方法登録(AcceptanceTester $I) ->登録(); PaymentEditPage::at($I); - $I->waitForText('保存しました', 10, PaymentEditPage::$登録完了メッセージ); + $I->see('保存しました', PaymentEditPage::$登録完了メッセージ); $PaymentManagePage = PaymentManagePage::go($I); - $I->waitForText('payment method1', 10, $PaymentManagePage->一覧_支払方法(1)); + $I->see('payment method1', $PaymentManagePage->一覧_支払方法(1)); } /** @@ -657,10 +657,10 @@ public function basicinfo_支払方法編集(AcceptanceTester $I) ->登録(); PaymentEditPage::at($I); + $I->see('保存しました', PaymentEditPage::$登録完了メッセージ); - $I->waitForText('保存しました', 10, PaymentEditPage::$登録完了メッセージ); $PaymentManagePage = PaymentManagePage::go($I); - $I->waitForText('payment method2', 10, $PaymentManagePage->一覧_支払方法(1)); + $I->see('payment method2', $PaymentManagePage->一覧_支払方法(1)); } /** @@ -677,13 +677,12 @@ public function basicinfo_支払方法削除(AcceptanceTester $I) PaymentEditPage::at($I) ->入力_支払方法('dummy payment') ->登録(); - $I->waitForText('保存しました', 10, PaymentEditPage::$登録完了メッセージ); // 削除 $page = PaymentManagePage::go($I); $before = $page->一覧_件数取得(); $page->一覧_削除(1); - $I->waitForText('削除しました', 10, PaymentEditPage::$登録完了メッセージ); + $I->see('削除しました', PaymentEditPage::$登録完了メッセージ); $after = PaymentManagePage::go($I)->一覧_件数取得(); $I->assertEquals($before - 1, $after); @@ -696,7 +695,7 @@ public function basicinfo_配送方法一覧(AcceptanceTester $I) // 表示 $DeliveryManagePage = DeliveryManagePage::go($I); - $I->waitForText('サンプル宅配', 10, $DeliveryManagePage->一覧_名称(2)); + $I->see('サンプル宅配', $DeliveryManagePage->一覧_名称(2)); } /** @@ -723,10 +722,10 @@ public function basicinfo_配送方法登録(AcceptanceTester $I) $Page->登録(); DeliveryEditPage::at($I); - $I->waitForText('保存しました', 10, DeliveryEditPage::$登録完了メッセージ); + $I->see('保存しました', DeliveryEditPage::$登録完了メッセージ); $DeliveryManagePage = DeliveryManagePage::go($I); - $I->waitForText('配送業者名', 10, $DeliveryManagePage->一覧_名称(2)); + $I->see('配送業者名', $DeliveryManagePage->一覧_名称(2)); } /** @@ -747,10 +746,10 @@ public function basicinfo_配送方法編集(AcceptanceTester $I) ->登録(); DeliveryEditPage::at($I); - $I->waitForText('保存しました', 10, DeliveryEditPage::$登録完了メッセージ); + $I->see('保存しました', DeliveryEditPage::$登録完了メッセージ); $DeliveryManagePage = DeliveryManagePage::go($I); - $I->waitForText('配送業者名1', 10, $DeliveryManagePage->一覧_名称(2)); + $I->see('配送業者名1', $DeliveryManagePage->一覧_名称(2)); } /** @@ -765,7 +764,7 @@ public function basicinfo_配送方法削除(AcceptanceTester $I) $page = DeliveryManagePage::go($I); $before = $page->一覧_件数取得(); $page->一覧_削除(2); - $I->waitForText('削除しました', 10, DeliveryManagePage::$登録完了メッセージ); + $I->see('削除しました', DeliveryManagePage::$登録完了メッセージ); $after = DeliveryManagePage::go($I)->一覧_件数取得(); $I->assertEquals($before - 1, $after); @@ -780,16 +779,16 @@ public function basicinfo_配送方法一覧順序変更(AcceptanceTester $I) $I->wantTo('EA0706-UC02-T01 配送方法一覧順序変更'); $DeliveryManagePage = DeliveryManagePage::go($I); - $I->waitForText('サンプル宅配 / サンプル宅配', 10, $DeliveryManagePage->一覧_名称(2)); - $I->waitForText('サンプル業者 / サンプル業者', 10, $DeliveryManagePage->一覧_名称(3)); + $I->see('サンプル宅配 / サンプル宅配', $DeliveryManagePage->一覧_名称(2)); + $I->see('サンプル業者 / サンプル業者', $DeliveryManagePage->一覧_名称(3)); $DeliveryManagePage->一覧_下に(2); - $I->waitForText('サンプル業者 / サンプル業者', 10, $DeliveryManagePage->一覧_名称(2)); - $I->waitForText('サンプル宅配 / サンプル宅配', 10, $DeliveryManagePage->一覧_名称(3)); + $I->see('サンプル業者 / サンプル業者', $DeliveryManagePage->一覧_名称(2)); + $I->see('サンプル宅配 / サンプル宅配', $DeliveryManagePage->一覧_名称(3)); $DeliveryManagePage->一覧_上に(3); - $I->waitForText('サンプル宅配 / サンプル宅配', 10, $DeliveryManagePage->一覧_名称(2)); - $I->waitForText('サンプル業者 / サンプル業者', 10, $DeliveryManagePage->一覧_名称(3)); + $I->see('サンプル宅配 / サンプル宅配', $DeliveryManagePage->一覧_名称(2)); + $I->see('サンプル業者 / サンプル業者', $DeliveryManagePage->一覧_名称(3)); } /** @@ -804,15 +803,15 @@ public function basicinfo_税率設定(AcceptanceTester $I) $TaxManagePage = TaxManagePage::go($I); // 一覧 - $I->waitForText('税率設定', 10, '#page_admin_setting_shop_tax > div.c-container > div.c-contentsArea > div.c-contentsArea__cols > div > div > div > div.card-header'); - $I->waitForText('10%', 10, '#ex-tax_rule-1 > td.align-middle.text-end'); + $I->see('税率設定', '#page_admin_setting_shop_tax > div.c-container > div.c-contentsArea > div.c-contentsArea__cols > div > div > div > div.card-header'); + $I->see('10%', '#ex-tax_rule-1 > td.align-middle.text-end'); // 登録 $TaxManagePage ->入力_消費税率(1, '8') ->入力_適用日(date('Y'), date('m'), date('d')) ->共通税率設定_登録(); - $I->waitForText('8%', 10, $TaxManagePage->一覧_税率(2)); + $I->see('8%', $TaxManagePage->一覧_税率(2)); // edit $TaxManagePage @@ -820,12 +819,12 @@ public function basicinfo_税率設定(AcceptanceTester $I) ->入力_消費税率(2, 12) ->決定(2); - $I->waitForText('保存しました', 10, TaxManagePage::$登録完了メッセージ); - $I->waitForText('12%', 10, $TaxManagePage->一覧_税率(2)); + $I->see('保存しました', TaxManagePage::$登録完了メッセージ); + $I->see('12%', $TaxManagePage->一覧_税率(2)); // 削除 $TaxManagePage->一覧_削除(2); - $I->waitForText('削除しました', 10, TaxManagePage::$登録完了メッセージ); + $I->see('削除しました', TaxManagePage::$登録完了メッセージ); } /** @@ -843,7 +842,7 @@ public function basicinfo_メール設定(AcceptanceTester $I) ->入力_件名($title) ->登録(); - $I->waitForText('保存しました', 10, MailSettingsPage::$登録完了メッセージ); + $I->see('保存しました', MailSettingsPage::$登録完了メッセージ); // 結果確認 $I->resetEmails(); @@ -869,7 +868,7 @@ public function basicinfo_CSV出力項目(AcceptanceTester $I) ->削除() ->設定(); - $I->waitForText('保存しました', 10, CsvSettingsPage::$登録完了メッセージ); + $I->see('保存しました', CsvSettingsPage::$登録完了メッセージ); // CSVダウンロード OrderManagePage::go($I)->受注CSVダウンロード実行(); @@ -895,7 +894,7 @@ public function basicinfo_受注対応状況設定(AcceptanceTester $I) ->入力_色('#19406C') ->登録(); - $I->waitForText('保存しました', 10, OrderStatusSettingsPage::$登録完了メッセージ); + $I->see('保存しました', OrderStatusSettingsPage::$登録完了メッセージ); OrderStatusSettingsPage::go($I); $I->seeInField(OrderStatusSettingsPage::$名称_マイページ, '注文受付'); @@ -922,7 +921,7 @@ public function basicinfo_定休日カレンダー_表示(AcceptanceTester $I) ->入力_タイトル($title) ->入力_日付($date->format('Y-m-d')) ->登録(); - $I->waitForText('保存しました', 10, CalendarSettingsPage::$登録完了メッセージ); + $I->see('保存しました', CalendarSettingsPage::$登録完了メッセージ); } // レイアウト設定でカレンダーブロックを登録 @@ -930,11 +929,11 @@ public function basicinfo_定休日カレンダー_表示(AcceptanceTester $I) LayoutEditPage::at($I) ->ブロックを移動('カレンダー', '#position_7') ->登録(); - $I->waitForText('保存しました', 10, LayoutEditPage::$登録完了メッセージ); + $I->see('保存しました', LayoutEditPage::$登録完了メッセージ); // フロント画面でカレンダーが表示されていることを確認 $I->amOnPage('/'); - $I->waitForText('カレンダー', 10, ['class' => 'ec-layoutRole__mainBottom']); + $I->see('カレンダー', ['class' => 'ec-layoutRole__mainBottom']); // フロント画面で定休日にクラス .ec-calendar__holiday が設定されていることを確認 $I->seeElement(['xpath' => '//table[@id="this-month-table"]//td[contains(@class,"ec-calendar__holiday")][text()="'.$holidays['定休日1']->format('j').'"]']); @@ -966,7 +965,7 @@ public function basicinfo_認証キー設定(AcceptanceTester $I) $I->expect('認証キーの登録ボタンをクリックします。'); $I->click(['css' => '.btn-ec-conversion']); - $I->waitForText('保存しました'); + $I->see('保存しました'); } public function basicinfo_税設定_適格請求書発行事業者登録番号(AcceptanceTester $I) @@ -981,7 +980,7 @@ public function basicinfo_税設定_適格請求書発行事業者登録番号(A ->入力_適格請求書発行事業者登録番号('T1234567890123') ->登録(); - $I->waitForText('保存しました', 10, ShopSettingPage::$登録完了メッセージ); + $I->see('保存しました', ShopSettingPage::$登録完了メッセージ); $I->expect('納品書を出力します'); $findOrders = Fixtures::get('findOrders'); // Closure @@ -989,7 +988,7 @@ public function basicinfo_税設定_適格請求書発行事業者登録番号(A return !in_array($Order->getOrderStatus()->getId(), [OrderStatus::PROCESSING, OrderStatus::PENDING]); }); $OrderListPage = OrderManagePage::go($I)->検索(); - $I->waitForText('検索結果:'.count($TargetOrders).'件が該当しました', 10, OrderManagePage::$検索結果_メッセージ); + $I->see('検索結果:'.count($TargetOrders).'件が該当しました', OrderManagePage::$検索結果_メッセージ); $OrderListPage->すべてチェック(); $OrderListPage->要素をクリック('#form_bulk #bulkExportPdf'); @@ -998,7 +997,7 @@ public function basicinfo_税設定_適格請求書発行事業者登録番号(A $I->switchToWindow('newwin'); // Check redirect to form pdf information - $I->waitForText('納品書出力受注管理', 10, OrderManagePage::$タイトル要素); + $I->see('納品書出力受注管理', OrderManagePage::$タイトル要素); $I->click('.btn-ec-conversion'); $I->wait(2); diff --git a/codeception/acceptance/EA08SysteminfoCest.php b/codeception/acceptance/EA08SysteminfoCest.php index 1b85f43bdac..68051931c4c 100644 --- a/codeception/acceptance/EA08SysteminfoCest.php +++ b/codeception/acceptance/EA08SysteminfoCest.php @@ -368,7 +368,6 @@ public function systeminfo_権限管理登録(AcceptanceTester $I) 'authority' => '店舗オーナー', ]) ->登録(); - $I->waitForText('保存しました'); $I->wantTo('EA0805-UC01-T01 権限管理 - 登録'); @@ -377,7 +376,7 @@ public function systeminfo_権限管理登録(AcceptanceTester $I) ->行追加() ->入力(1, ['1' => '店舗オーナー'], '/setting') ->登録(); - $I->waitForText('保存しました', 10, AuthorityManagePage::$完了メッセージ); + $I->see('保存しました', AuthorityManagePage::$完了メッセージ); $I->wantTo('EA0805-UC01-T02 権限管理 - 登録'); @@ -471,14 +470,13 @@ public function systeminfo_ログ表示(AcceptanceTester $I) $I->amOnPage('/'.$config['eccube_admin_route'].'/setting/system/log'); $I->see('ログ表示システム設定', '.c-pageTitle'); - $option = $I->grabTextFrom(['css' => '#admin_system_log_files option:nth-child(1)']); + $option = $I->grabTextFrom('#admin_system_log_files option:nth-child(1)'); $I->selectOption('#admin_system_log_files', $option); $I->fillField(['id' => 'admin_system_log_line_max'], '10'); $I->click(['css' => '#form1 button']); - $I->waitForElement(['css' => '.c-contentsArea textarea']); - $logs = $I->grabTextFrom(['css' => '.c-contentsArea textarea']); + $logs = $I->grabTextFrom('.c-contentsArea textarea'); $I->assertLessThanOrEqual(10, count(explode("\n", $logs)), 'ログ件数を確認'); $I->seeInField(['id' => 'admin_system_log_line_max'], '10'); } diff --git a/codeception/acceptance/EA09ShippingCest.php b/codeception/acceptance/EA09ShippingCest.php index 2988784b44a..d4716ddc966 100644 --- a/codeception/acceptance/EA09ShippingCest.php +++ b/codeception/acceptance/EA09ShippingCest.php @@ -145,8 +145,9 @@ public function shippingお届け先追加(AcceptanceTester $I) ->入力_番地_ビル名('address 2', 1) ->出荷情報登録(); - $I->waitForText('保存しました', null, ShippingEditPage::$登録完了メッセージ); + $I->see('保存しました', ShippingEditPage::$登録完了メッセージ); + $I->wait(10); // 出荷済みに変更 $ShippingRegisterPage ->出荷完了にする() diff --git a/codeception/acceptance/EF06OtherCest.php b/codeception/acceptance/EF06OtherCest.php index b57c0e38285..ef7660f0d39 100644 --- a/codeception/acceptance/EF06OtherCest.php +++ b/codeception/acceptance/EF06OtherCest.php @@ -49,7 +49,7 @@ public function other_ログイン異常1(AcceptanceTester $I) 'login_pass' => 'password', ]); - $I->waitForText('ログインできませんでした。', 10, 'div.ec-login p.ec-errorMessage'); + $I->see('ログインできませんでした。', 'div.ec-login p.ec-errorMessage'); } public function other_ログイン異常2(AcceptanceTester $I) @@ -66,7 +66,7 @@ public function other_ログイン異常2(AcceptanceTester $I) 'login_pass' => 'password', ]); - $I->waitForText('ログインできませんでした。', 10, 'div.ec-login p.ec-errorMessage'); + $I->see('ログインできませんでした。', 'div.ec-login p.ec-errorMessage'); } /** @@ -82,7 +82,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->click('#login_mypage a:first-child'); // TOPページ>ログイン>パスワード再発行 - $I->waitForText('パスワードの再発行', 10, 'div.ec-pageHeader h1'); + $I->see('パスワードの再発行', 'div.ec-pageHeader h1'); // メールアドレスを入力する // 「次のページへ」ボタンを押下する @@ -92,7 +92,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->submitForm('#form1', [ 'login_email' => $customer->getEmail(), ]); - $I->waitForText('パスワードの再発行(メール送信)', 10, 'div.ec-pageHeader h1'); + $I->see('パスワードの再発行(メール送信)', 'div.ec-pageHeader h1'); $I->seeEmailCount(1); $I->seeInLastEmailSubjectTo($customer->getEmail(), 'パスワード変更のご確認'); @@ -103,7 +103,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->resetEmails(); $I->amOnPage($url); - $I->waitForText('パスワード再発行(再設定)', 10, 'div.ec-pageHeader h1'); + $I->see('パスワード再発行(再設定)', 'div.ec-pageHeader h1'); $password = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, 16).'1234'; @@ -114,7 +114,7 @@ public function other_パスワード再発行(AcceptanceTester $I) 'password[second]' => $password, ]); - $I->waitForText('ログイン', 10, 'div.ec-pageHeader h1'); + $I->see('ログイン', 'div.ec-pageHeader h1'); $I->loginAsMember($customer->getEmail(), $password); } @@ -141,7 +141,7 @@ public function other_当サイトについて(AcceptanceTester $I) $I->wantTo('EF0604-UC01-T01 当サイトについて'); $I->amOnPage('/help/about'); - $I->waitForText('当サイトについて', 10, 'div.ec-pageHeader h1'); + $I->see('当サイトについて', 'div.ec-pageHeader h1'); $baseinfo = Fixtures::get('baseinfo'); $I->see($baseinfo->getShopName(), '#help_about_box__shop_name'); } @@ -154,8 +154,8 @@ public function other_プライバシーポリシー(AcceptanceTester $I) $I->wantTo('EF0605-UC01-T01 プライバシーポリシー'); $I->amOnPage('/help/privacy'); - $I->waitForText('プライバシーポリシー', 10, 'div.ec-pageHeader > h1'); - $I->waitForText('個人情報保護の重要性に鑑み、「個人情報の保護に関する法律」及び本プライバシーポリシーを遵守し、お客さまのプライバシー保護に努めます。', 10, 'main > div > div:nth-child(2) > div > p'); + $I->see('プライバシーポリシー', 'div.ec-pageHeader > h1'); + $I->see('個人情報保護の重要性に鑑み、「個人情報の保護に関する法律」及び本プライバシーポリシーを遵守し、お客さまのプライバシー保護に努めます。', 'main > div > div:nth-child(2) > div > p'); } /** @@ -166,7 +166,7 @@ public function other_特定商取引法に基づく表記(AcceptanceTester $I) $I->wantTo('EF0606-UC01-T01 特定商取引法に基づく表記'); $I->amOnPage('/help/tradelaw'); - $I->waitForText('特定商取引法に基づく表記', 10, 'div.ec-pageHeader h1'); + $I->see('特定商取引法に基づく表記', 'div.ec-pageHeader h1'); } /** @@ -181,7 +181,7 @@ public function other_お問い合わせ1(AcceptanceTester $I) $new_email = microtime(true).'.'.$faker->safeEmail; $BaseInfo = Fixtures::get('baseinfo'); - $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); + $I->see('お問い合わせ', 'div.ec-pageHeader h1'); $I->fillField(['id' => 'contact_name_name01'], '姓'); $I->fillField(['id' => 'contact_name_name02'], '名'); @@ -196,11 +196,11 @@ public function other_お問い合わせ1(AcceptanceTester $I) $I->fillField(['id' => 'contact_contents'], 'お問い合わせ内容の送信'); $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); - $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); + $I->see('お問い合わせ', 'div.ec-pageHeader h1'); $I->click('div.ec-contactConfirmRole div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 完了ページ - $I->waitForText('お問い合わせ(完了)', 10, 'div.ec-pageHeader h1'); + $I->see('お問い合わせ(完了)', 'div.ec-pageHeader h1'); // メールチェック $message = $I->lastMessage(); @@ -222,7 +222,7 @@ public function other_お問い合わせ2(AcceptanceTester $I) $new_email = microtime(true).'.'.$faker->safeEmail; $BaseInfo = Fixtures::get('baseinfo'); - $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); + $I->see('お問い合わせ', 'div.ec-pageHeader h1'); $I->fillField(['id' => 'contact_name_name01'], '姓'); $I->fillField(['id' => 'contact_name_name02'], '名'); @@ -238,11 +238,11 @@ public function other_お問い合わせ2(AcceptanceTester $I) $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 確認画面 → 戻る - $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); + $I->see('お問い合わせ', 'div.ec-pageHeader h1'); $I->click('div.ec-contactConfirmRole div.ec-RegisterRole__actions button.ec-blockBtn--cancel'); // 入力画面 → フォーム入力内容の再チェック - $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); + $I->see('お問い合わせ', 'div.ec-pageHeader h1'); $I->seeInFormFields('.ec-contactRole form', [ 'contact[name][name01]' => '姓', 'contact[name][name02]' => '名', @@ -255,11 +255,11 @@ public function other_お問い合わせ2(AcceptanceTester $I) $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 確認画面 → 送信 - $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); + $I->see('お問い合わせ', 'div.ec-pageHeader h1'); $I->click('div.ec-contactConfirmRole div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 完了ページ - $I->waitForText('お問い合わせ(完了)', 10, 'div.ec-pageHeader h1'); + $I->see('お問い合わせ(完了)', 'div.ec-pageHeader h1'); // メールチェック $message = $I->lastMessage(); @@ -277,18 +277,17 @@ public function other_お問い合わせ_異常(AcceptanceTester $I) $I->wantTo('EF0607-UC01-T03 お問い合わせ 異常'); $I->amOnPage('/contact'); - $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); + $I->see('お問い合わせ', 'div.ec-pageHeader h1'); $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); - $I->waitForText('入力されていません', 10, '.ec-contactRole .error .ec-errorMessage:last-child'); + $I->see('入力されていません', '.ec-contactRole .error .ec-errorMessage:last-child'); } public function other_サイトマップ(AcceptanceTester $I) { $I->wantTo('EF0608-UC01-T01_サイトマップ'); $I->amOnPage('/sitemap.xml'); - $I->wait(10); $I->see('/sitemap_page.xml'); $I->see('/sitemap_category.xml'); @@ -305,28 +304,24 @@ public function other_サイトマップ_ページ(AcceptanceTester $I) // 表示確認 $I->amOnPage($sitemapUrl); - $I->wait(10); $I->see($topPageLoc); // メタ設定 → robots noindex → 非表示になる PageManagePage::go($I)->ページ編集('TOPページ'); PageEditPage::at($I)->入力_メタ_robot('noindex')->登録(); $I->amOnPage($sitemapUrl); - $I->wait(10); $I->dontSee($topPageLoc); // メタ設定 → robots none → 非表示になる PageManagePage::go($I)->ページ編集('TOPページ'); PageEditPage::at($I)->入力_メタ_robot('none')->登録(); $I->amOnPage($sitemapUrl); - $I->wait(10); $I->dontSee($topPageLoc); // メタ設定 → robots 解除 → 表示される PageManagePage::go($I)->ページ編集('TOPページ'); PageEditPage::at($I)->入力_メタ_robot('')->登録(); $I->amOnPage($sitemapUrl); - $I->wait(10); $I->see($topPageLoc); } @@ -334,7 +329,6 @@ public function other_サイトマップ_カテゴリ(AcceptanceTester $I) { $I->wantTo('EF0608-UC01-T03_サイトマップ(カテゴリ)'); $I->amOnPage('/sitemap_category.xml'); - $I->wait(10); $I->see('/products/list?category_id=1'); } @@ -365,7 +359,7 @@ public function other_サイトマップ_商品(AcceptanceTester $I) // 在庫なし商品の準備 $I->amOnPage($productEditUrl); ProductEditPage::at($I)->入力_在庫数(0)->登録(); - $I->waitForText('保存しました', 10, ProductEditPage::$登録結果メッセージ); + $I->see('保存しました', ProductEditPage::$登録結果メッセージ); // 公開・在庫切れ商品を表示しない $I->amOnPage($productEditUrl); diff --git a/codeception/acceptance/EF08InvoiceCest.php b/codeception/acceptance/EF08InvoiceCest.php index b9083ea4122..b3c135e474d 100644 --- a/codeception/acceptance/EF08InvoiceCest.php +++ b/codeception/acceptance/EF08InvoiceCest.php @@ -55,7 +55,6 @@ public function _before(AcceptanceTester $I) PaymentEditPage::at($I) ->入力_手数料('2187') ->登録(); - $I->expect('商品登録をします'); ProductEditPage::go($I) ->入力_商品名('チョコ') @@ -63,7 +62,6 @@ public function _before(AcceptanceTester $I) ->入力_カテゴリ(1) ->入力_公開() ->登録(); - $I->waitForText('保存しました'); ProductEditPage::go($I) ->入力_商品名('バニラ') @@ -71,7 +69,6 @@ public function _before(AcceptanceTester $I) ->入力_カテゴリ(1) ->入力_公開() ->登録(); - $I->waitForText('保存しました'); ProductEditPage::go($I) ->入力_商品名('抹茶') @@ -80,7 +77,6 @@ public function _before(AcceptanceTester $I) ->入力_税率(8) ->入力_公開() ->登録(); - $I->waitForText('保存しました'); } public function invoice_商品購入_税額確認(AcceptanceTester $I) @@ -119,7 +115,6 @@ public function invoice_商品購入_税額確認(AcceptanceTester $I) $I->scrollTo('#shopping-form div.ec-orderRole__summary div.ec-totalBox button'); $I->wait(2); ShoppingPage::at($I)->確認する(); - $I->waitForText('ご注文内容のご確認', 10, 'div.ec-pageHeader h1'); $I->expect('注文内容を確認します'); $I->see('¥787,000', ['xpath' => ShoppingPage::$小計]); From 617d5d82af0978c7e26deada5710620eb47dcd69 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Fri, 12 May 2023 11:59:15 +0900 Subject: [PATCH 6/6] wait for elements --- codeception/_support/AcceptanceTester.php | 1 + codeception/_support/Page/AbstractPage.php | 1 + .../_support/Page/Admin/AbstractAdminPage.php | 8 +- .../Page/Admin/MasterDataManagePage.php | 1 + .../_support/Page/Admin/OrderEditPage.php | 3 +- .../_support/Page/Admin/ShippingEditPage.php | 4 +- codeception/_support/Page/Front/CartPage.php | 4 +- codeception/_support/Page/Front/MyPage.php | 2 +- .../_support/Page/Front/ProductListPage.php | 2 + .../_support/Page/Front/ShoppingPage.php | 2 + .../_support/Page/Install/InstallPage.php | 2 +- codeception/acceptance/EA04OrderCest.php | 2 +- .../acceptance/EA06ContentsManagementCest.php | 85 +++++----- codeception/acceptance/EA07BasicinfoCest.php | 151 +++++++++--------- codeception/acceptance/EA08SysteminfoCest.php | 8 +- codeception/acceptance/EA09ShippingCest.php | 3 +- codeception/acceptance/EF06OtherCest.php | 48 +++--- codeception/acceptance/EF08InvoiceCest.php | 5 + 18 files changed, 181 insertions(+), 151 deletions(-) diff --git a/codeception/_support/AcceptanceTester.php b/codeception/_support/AcceptanceTester.php index 3624ea5d3ae..6def0e91c79 100644 --- a/codeception/_support/AcceptanceTester.php +++ b/codeception/_support/AcceptanceTester.php @@ -101,6 +101,7 @@ public function logoutAsMember() { $I = $this; $I->amOnPage('/'); + $I->waitForElement('.ec-headerNaviRole .ec-headerNav .ec-headerNav__item:nth-child(3) a'); $isLogin = $I->grabTextFrom('.ec-headerNaviRole .ec-headerNav .ec-headerNav__item:nth-child(3) a'); if ($isLogin == 'ログアウト') { $I->wait(1); diff --git a/codeception/_support/Page/AbstractPage.php b/codeception/_support/Page/AbstractPage.php index bfc334621cb..b5d73a6a3d0 100644 --- a/codeception/_support/Page/AbstractPage.php +++ b/codeception/_support/Page/AbstractPage.php @@ -36,6 +36,7 @@ public function __construct(\AcceptanceTester $I) protected function goPage($url, $pageTitle = '') { $this->tester->amOnPage($url); + $this->tester->waitForJS("return location.pathname + location.search == '${url}'", 30); return $this; } diff --git a/codeception/_support/Page/Admin/AbstractAdminPage.php b/codeception/_support/Page/Admin/AbstractAdminPage.php index a3b9009f3c0..b6e63fbf9d4 100644 --- a/codeception/_support/Page/Admin/AbstractAdminPage.php +++ b/codeception/_support/Page/Admin/AbstractAdminPage.php @@ -29,10 +29,14 @@ abstract class AbstractAdminPage extends AbstractPage protected function goPage($url, $pageTitle = '') { $config = Fixtures::get('config'); - $this->tester->amOnPage('/'.$config['eccube_admin_route'].$url); + $adminUrl = '/'.$config['eccube_admin_route'].$url; + $this->tester->amOnPage($adminUrl); if ($pageTitle) { return $this->atPage($pageTitle); + } else { + $this->tester->wait(5); + $this->tester->waitForJS("return location.pathname + location.search == '${adminUrl}'"); } return $this; @@ -47,7 +51,7 @@ protected function goPage($url, $pageTitle = '') */ protected function atPage($pageTitle) { - $this->tester->see($pageTitle, '.c-container .c-pageTitle__titles'); + $this->tester->waitForText($pageTitle, 10, '.c-container .c-pageTitle__titles'); return $this; } diff --git a/codeception/_support/Page/Admin/MasterDataManagePage.php b/codeception/_support/Page/Admin/MasterDataManagePage.php index 335d27d378f..1efd3e69cad 100644 --- a/codeception/_support/Page/Admin/MasterDataManagePage.php +++ b/codeception/_support/Page/Admin/MasterDataManagePage.php @@ -39,6 +39,7 @@ public function 選択($option) { $this->tester->selectOption(['id' => 'admin_system_masterdata_masterdata'], $option); $this->tester->click('#form1 button'); + $this->tester->waitForElement(['xpath' => "//select[@id='admin_system_masterdata_masterdata']/option[@selected][contains(text(), '${option}')]"]); return $this; } diff --git a/codeception/_support/Page/Admin/OrderEditPage.php b/codeception/_support/Page/Admin/OrderEditPage.php index 072d0954a87..56dbfe49825 100644 --- a/codeception/_support/Page/Admin/OrderEditPage.php +++ b/codeception/_support/Page/Admin/OrderEditPage.php @@ -166,7 +166,8 @@ public function 商品検索($value = '') public function 商品検索結果_選択($rowNum) { $rowNum = $rowNum * 2; - $this->tester->click("#searchProductModalList > table > tbody > tr:nth-child(${rowNum}) > td.text-end > button"); + $this->tester->click(['css' => "#searchProductModalList > table > tbody > tr:nth-child(${rowNum}) > td.text-end > button"]); + $this->tester->waitForElementNotVisible(['id' => 'searchProductModalList']); return $this; } diff --git a/codeception/_support/Page/Admin/ShippingEditPage.php b/codeception/_support/Page/Admin/ShippingEditPage.php index 5d673ea6516..04b5693af9a 100644 --- a/codeception/_support/Page/Admin/ShippingEditPage.php +++ b/codeception/_support/Page/Admin/ShippingEditPage.php @@ -173,7 +173,7 @@ public function 商品検索($value = '') { $this->tester->scrollTo(['css' => '#shipping-product_1 > div > button'], 0, -50); $this->tester->click(['css' => '#shipping-product_1 > div > button']); - $this->tester->waitForElementVisible(['id' => 'addProduct']); + $this->tester->waitForElementVisible(['id' => 'admin_search_product_id']); $this->tester->fillField(['id' => 'admin_search_product_id'], $value); $this->tester->click('#searchProductModalButton'); $this->tester->waitForElementVisible('#searchProductModalList table'); @@ -185,6 +185,8 @@ public function 商品検索結果_選択($rowNum) { $rowNum = $rowNum * 2; $this->tester->click("#searchProductModalList > table > tbody > tr:nth-child(${rowNum}) > td.align-middle.pe-3.text-end > button"); + $this->tester->waitForElementNotVisible('#searchProductModalList'); + $this->tester->wait(5); return $this; } diff --git a/codeception/_support/Page/Front/CartPage.php b/codeception/_support/Page/Front/CartPage.php index d24b7ad2736..64d14967767 100644 --- a/codeception/_support/Page/Front/CartPage.php +++ b/codeception/_support/Page/Front/CartPage.php @@ -45,7 +45,9 @@ public function 商品名($index) public function 商品数量($index) { - return $this->tester->grabTextFrom(['xpath' => "//div[@class='ec-cartRole']//ul[@class='ec-cartRow'][position()=${index}]//div[@class='ec-cartRow__amount']"]); + $selector = ['xpath' => "//div[@class='ec-cartRole']//ul[@class='ec-cartRow'][position()=${index}]//div[@class='ec-cartRow__amount']"]; + $this->tester->waitForElement($selector); + return $this->tester->grabTextFrom($selector); } public function 明細数() diff --git a/codeception/_support/Page/Front/MyPage.php b/codeception/_support/Page/Front/MyPage.php index 9dd9f5031a9..c2dc8fd974d 100644 --- a/codeception/_support/Page/Front/MyPage.php +++ b/codeception/_support/Page/Front/MyPage.php @@ -29,7 +29,7 @@ public function __construct(\AcceptanceTester $I) public static function go($I) { $page = new self($I); - $page->goPage('/mypage'); + $page->goPage('/mypage/'); return $page; } diff --git a/codeception/_support/Page/Front/ProductListPage.php b/codeception/_support/Page/Front/ProductListPage.php index 233d76d6a78..f9a5820e766 100644 --- a/codeception/_support/Page/Front/ProductListPage.php +++ b/codeception/_support/Page/Front/ProductListPage.php @@ -31,6 +31,7 @@ public function __construct(\AcceptanceTester $I) public function 表示件数設定($num) { $this->tester->selectOption(['css' => "select[name = 'disp_number']"], "${num}件"); + $this->tester->waitForElement(['css' => "select[name='disp_number'] > option[value='${num}'][selected]"]); return $this; } @@ -38,6 +39,7 @@ public function 表示件数設定($num) public function 表示順設定($sort) { $this->tester->selectOption(['css' => "select[name = 'orderby']"], $sort); + $this->tester->waitForElement(['xpath' => "//select[@name='orderby']/option[text()='${sort}']"]); return $this; } diff --git a/codeception/_support/Page/Front/ShoppingPage.php b/codeception/_support/Page/Front/ShoppingPage.php index e337d03d2df..3dac5703ab7 100644 --- a/codeception/_support/Page/Front/ShoppingPage.php +++ b/codeception/_support/Page/Front/ShoppingPage.php @@ -73,6 +73,7 @@ public function 入力_姓($value) public function 入力_利用ポイント($value) { $this->tester->executeJS("$('#shopping_order_use_point').val('{$value}').change()"); + $this->tester->wait(5); return $this; } @@ -80,6 +81,7 @@ public function 入力_利用ポイント($value) public function 選択_配送方法($id) { $this->tester->selectOption(['id' => 'shopping_order_Shippings_0_Delivery'], $id); + $this->tester->wait(5); return $this; } diff --git a/codeception/_support/Page/Install/InstallPage.php b/codeception/_support/Page/Install/InstallPage.php index 7cb43b14478..3d0f9a75d60 100644 --- a/codeception/_support/Page/Install/InstallPage.php +++ b/codeception/_support/Page/Install/InstallPage.php @@ -25,7 +25,7 @@ public static function go(\AcceptanceTester $I) { $page = new self($I); - return $page->goPage('/'); + return $page->goPage('/install/step1'); } public function step1_次へボタンをクリック() diff --git a/codeception/acceptance/EA04OrderCest.php b/codeception/acceptance/EA04OrderCest.php index 2ac1d27527c..8cfc0928ca4 100644 --- a/codeception/acceptance/EA04OrderCest.php +++ b/codeception/acceptance/EA04OrderCest.php @@ -353,7 +353,7 @@ public function order_受注登録(AcceptanceTester $I) ->商品検索結果_選択(1) ->受注情報登録(); - $I->see('保存しました', OrderEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, OrderEditPage::$登録完了メッセージ); } public function order_納品書の出力(AcceptanceTester $I) diff --git a/codeception/acceptance/EA06ContentsManagementCest.php b/codeception/acceptance/EA06ContentsManagementCest.php index 0c25dffd8c9..938b8675093 100644 --- a/codeception/acceptance/EA06ContentsManagementCest.php +++ b/codeception/acceptance/EA06ContentsManagementCest.php @@ -60,7 +60,7 @@ public function contentsmanagement_新着情報管理(AcceptanceTester $I) ->入力_本文('newsnewsnewsnewsnews') ->登録(); - $I->see('保存しました', NewsManagePage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, NewsManagePage::$登録完了メッセージ); // EA0601-UC02-T01_新着情報管理(編集) NewsManagePage::go($I)->一覧_編集(2); @@ -70,7 +70,7 @@ public function contentsmanagement_新着情報管理(AcceptanceTester $I) ->入力_タイトル($new_title) ->登録(); - $I->see('保存しました', NewsManagePage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, NewsManagePage::$登録完了メッセージ); $NewsListPage = NewsManagePage::go($I); $I->assertEquals($new_title, $NewsListPage->一覧_タイトル(2)); @@ -78,6 +78,7 @@ public function contentsmanagement_新着情報管理(AcceptanceTester $I) // EA0601-UC03-T01_新着情報管理(削除) $NewsListPage->一覧_削除(2); $NewsListPage->ポップアップを受け入れます(2); + $I->waitForText('削除しました', 10, NewsManagePage::$登録完了メッセージ); $I->assertNotEquals($new_title, $NewsListPage->一覧_タイトル(2)); } @@ -107,7 +108,7 @@ public function contentsmanagement_ファイル管理(AcceptanceTester $I) ->入力_ファイル('upload.txt') ->アップロード(); - $I->see('upload.txt', $FileManagePage->ファイル名(1)); + $I->waitForText('upload.txt', 10, $FileManagePage->ファイル名(1)); $FileManagePage->一覧_ダウンロード(1); $UploadedFile = $I->getLastDownloadFile('/^upload\.txt$/'); @@ -120,7 +121,7 @@ public function contentsmanagement_ファイル管理(AcceptanceTester $I) $FileManagePage->一覧_表示(1); $I->switchToNewWindow(); - $I->see('This is uploaded file.'); + $I->waitForText('This is uploaded file.'); FileManagePage::go($I) ->一覧_削除(1) @@ -131,14 +132,14 @@ public function contentsmanagement_ファイル管理(AcceptanceTester $I) ->入力_フォルダ名('folder1') ->フォルダ作成(); - $I->see('folder1', $FileManagePage->ファイル名(1)); + $I->waitForText('folder1', 10, $FileManagePage->ファイル名(1)); $FileManagePage->一覧_ファイル名_クリック(1); - $I->see('folder1', $FileManagePage->パンくず(2)); + $I->waitForText('folder1', 10, $FileManagePage->パンくず(2)); $config = Fixtures::get('config'); $I->amOnPage('/'.$config['eccube_admin_route'].'/content/file_manager'); - $I->see('ファイル管理コンテンツ管理', '.c-pageTitle'); + $I->waitForText('ファイル管理コンテンツ管理', 10, '.c-pageTitle'); FileManagePage::go($I) ->一覧_削除(1) @@ -156,7 +157,7 @@ public function contentsmanagement_ファイル管理_php(AcceptanceTester $I) ->入力_ファイル('upload.php') ->アップロード(); - $I->see('アップロードできないファイル拡張子です。', '#form1 .errormsg'); + $I->waitForText('アップロードできないファイル拡張子です。', 10, '#form1 .errormsg'); } /** @@ -174,7 +175,7 @@ public function contentsmanagement_ファイル管理_ファイルアップロ } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/file_manager'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } /** @@ -198,17 +199,17 @@ public function contentsmanagement_ページ管理(AcceptanceTester $I) ->入力_内容($page) ->入力_PC用レイアウト('下層ページ用レイアウト') ->登録(); - $I->see('保存しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); - $I->see($page, 'body'); + $I->waitForText($page, 10, 'body'); /* 編集 */ PageManagePage::go($I)->ページ編集($page); PageEditPage::at($I) ->入力_内容("{% extends 'default_frame.twig' %}") ->登録(); - $I->see('保存しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); $config = Fixtures::get('config'); @@ -220,9 +221,9 @@ public function contentsmanagement_ページ管理(AcceptanceTester $I) ->ブロックを移動('新着情報', '#position_4') ->登録(); - $I->see('保存しました', LayoutEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, LayoutEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); - $I->see('新着情報', '.ec-newsRole'); + $I->waitForText('新着情報', 10, '.ec-newsRole'); LayoutManagePage::go($I)->レイアウト編集('下層ページ用レイアウト'); LayoutEditPage::at($I) @@ -257,7 +258,7 @@ public function contentsmanagement_ページ管理(AcceptanceTester $I) /* 削除 */ PageManagePage::go($I)->削除($page); - $I->see('削除しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, PageEditPage::$登録完了メッセージ); $I->amOnPage('/user_data/'.$page); $I->seeInTitle('ページがみつかりません'); } @@ -276,10 +277,10 @@ public function contentsmanagement_ページ管理_ファイルアップロー } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/page/new'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); $I->amOnPage('/'.$config['eccube_admin_route'].'/content/page/1/edit'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } @@ -305,7 +306,7 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) ->端末種別('PC') ->ブロックを移動('新着情報', '#position_3') ->登録(); - $I->see('保存しました'); + $I->waitForText('保存しました'); // レイアウトを適用した新規ページを作成 PageManagePage::go($I)->新規入力(); @@ -315,7 +316,7 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) ->入力_URL($pageName) ->入力_PC用レイアウト($layoutName) ->登録(); - $I->see('保存しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); // 作成したページの表示確認 (新着情報がヘッダエリアに表示されていることを確認) $I->amOnPage('/user_data/'.$pageName); @@ -326,7 +327,7 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) LayoutEditPage::at($I) ->ブロックを移動('新着情報', '#position_10') ->登録(); - $I->see('保存しました', LayoutEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, LayoutEditPage::$登録完了メッセージ); // 編集したページの表示確認 (新着情報がフッタエリアに表示されていることを確認) $I->amOnPage('/user_data/'.$pageName); @@ -335,15 +336,15 @@ public function contentsmanagement_レイアウト管理(AcceptanceTester $I) // レイアウトの削除 → レイアウトを適用したページがあるため削除できない LayoutManagePage::go($I)->削除($layoutName); - $I->see('削除できませんでした', LayoutManagePage::$登録完了メッセージ); + $I->waitForText('削除できませんでした', 10, LayoutManagePage::$登録完了メッセージ); // レイアウトを適用したページを削除 PageManagePage::go($I)->削除($pageName); - $I->see('削除しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, PageEditPage::$登録完了メッセージ); // レイアウトの削除 LayoutManagePage::go($I)->削除($layoutName); - $I->see('削除しました', LayoutManagePage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, LayoutManagePage::$登録完了メッセージ); $I->cantSee($layoutName, '.contentsArea'); } @@ -382,7 +383,7 @@ public function contentsmanagement_ブロック管理(AcceptanceTester $I) ->入力_ファイル名($block) ->入力_データ('
block1
') ->登録(); - $I->see('保存しました', BlockEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, BlockEditPage::$登録完了メッセージ); // TOPページにブロックを配置 LayoutManagePage::go($I)->レイアウト編集('トップページ用レイアウト'); @@ -391,16 +392,16 @@ public function contentsmanagement_ブロック管理(AcceptanceTester $I) ->登録(); $I->amOnPage('/'); - $I->see('block1', ['id' => $block]); + $I->waitForText('block1', 10, ['id' => $block]); BlockManagePage::go($I)->編集(1); BlockEditPage::at($I) ->入力_データ('
welcome
') ->登録(); - $I->see('保存しました', BlockEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, BlockEditPage::$登録完了メッセージ); $I->amOnPage('/'); - $I->see('welcome', ['id' => $block]); + $I->waitForText('welcome', 10, ['id' => $block]); // EA0604-UC01-T03_ブロック管理(削除) BlockManagePage::go($I) @@ -425,11 +426,11 @@ public function contentsmanagement_ブロック管理_ファイルアップロ } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/block/new'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); $config = Fixtures::get('config'); $I->amOnPage('/'.$config['eccube_admin_route'].'/content/block/1/edit'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } @@ -449,7 +450,7 @@ public function contentsmanagement_CSS管理(AcceptanceTester $I) ->登録(); $I->amOnPage('/'); $I->reloadPage(); - $I->see('お気に入り', '.ec-headerNaviRole'); + $I->waitForText('お気に入り', 10, '.ec-headerNaviRole'); } /** @@ -466,7 +467,7 @@ public function contentsmanagement_CSS管理_ファイルアップロード制 } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/css'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } public function contentsmanagement_JavaScript管理(AcceptanceTester $I) @@ -480,7 +481,7 @@ public function contentsmanagement_JavaScript管理(AcceptanceTester $I) )->登録(); $I->amOnPage('/'); $I->reloadPage(); - $I->see($test_text, '.ec-headerNaviRole'); + $I->waitForText($test_text, 10, '.ec-headerNaviRole'); JavaScriptManagePage::go($I)->入力('/* */')->登録(); $I->amOnPage('/'); @@ -502,7 +503,7 @@ public function contentsmanagement_JavaScript管理_ファイルアップロー } $I->amOnPage('/'.$config['eccube_admin_route'].'/content/js'); - $I->see('この機能は管理者によって制限されています。'); + $I->waitForText('この機能は管理者によって制限されています。'); } @@ -513,12 +514,12 @@ public function contentsmanagement_メンテナンス管理(AcceptanceTester $I) $I->expect('メンテナンスモードを有効にします'); MaintenanceManagePage::go($I) ->メンテナンス有効無効(); - $I->see('メンテナンスモードを有効にしました。', MaintenanceManagePage::$完了メッセージ); + $I->waitForText('メンテナンスモードを有効にしました。', 10, MaintenanceManagePage::$完了メッセージ); $I->expect('トップページを確認します'); $I->amOnPage('/'); - $I->see('メンテナンスモードが有効になっています。', '#page_homepage > div.ec-maintenanceAlert > div'); - $I->see('全ての商品', TopPage::$検索_カテゴリ選択); + $I->waitForText('メンテナンスモードが有効になっています。', null,'#page_homepage > div.ec-maintenanceAlert > div'); + $I->waitForText('全ての商品', 10, TopPage::$検索_カテゴリ選択); $I->expect('ログアウトします'); $config = Fixtures::get('config'); @@ -527,7 +528,7 @@ public function contentsmanagement_メンテナンス管理(AcceptanceTester $I) $I->expect('トップページを確認します'); $I->amOnPage('/'); $I->dontSee('メンテナンスモードが有効になっています。', '#page_homepage > div.ec-maintenanceAlert > div'); - $I->see('ただいまメンテナンス中です。', 'body > div > div > div > div > p.ec-404Role__title.ec-reportHeading'); + $I->waitForText('ただいまメンテナンス中です。', 10, 'body > div > div > div > div > p.ec-404Role__title.ec-reportHeading'); // 画面遷移がスムーズにいかない場合があるため、ログイン画面に遷移させておく $account = Fixtures::get('admin_account'); @@ -541,12 +542,12 @@ public function contentsmanagement_メンテナンス管理(AcceptanceTester $I) MaintenanceManagePage::go($I) ->メンテナンス有効無効(); - $I->see('メンテナンスモードを無効にしました。', MaintenanceManagePage::$完了メッセージ); + $I->waitForText('メンテナンスモードを無効にしました。', 10, MaintenanceManagePage::$完了メッセージ); $I->expect('トップページを確認します'); $I->amOnPage('/'); $I->dontSee('メンテナンスモードが有効になっています。', '#page_homepage > div.ec-maintenanceAlert > div'); - $I->see('全ての商品', TopPage::$検索_カテゴリ選択); + $I->waitForText('全ての商品', 10, TopPage::$検索_カテゴリ選択); } public function contentsmanagement_キャッシュ管理(AcceptanceTester $I) @@ -555,7 +556,7 @@ public function contentsmanagement_キャッシュ管理(AcceptanceTester $I) $I->expect('トップページを確認します'); $I->amOnPage('/'); - $I->see('EC-CUBE SHOP', 'h1'); + $I->waitForText('EC-CUBE SHOP', 10, 'h1'); $I->expect('キャッシュを削除します'); $config = Fixtures::get('config'); @@ -563,10 +564,10 @@ public function contentsmanagement_キャッシュ管理(AcceptanceTester $I) $I->click('.c-contentsArea .btn-ec-conversion'); $I->waitForElement('.alert', 10); - $I->see('削除しました', '.alert'); + $I->waitForText('削除しました', 10, '.alert'); $I->expect('トップページを確認します'); $I->amOnPage('/'); - $I->see('EC-CUBE SHOP', 'h1'); + $I->waitForText('EC-CUBE SHOP', 10, 'h1'); } } diff --git a/codeception/acceptance/EA07BasicinfoCest.php b/codeception/acceptance/EA07BasicinfoCest.php index ceff12e7e25..a2361f6daa6 100644 --- a/codeception/acceptance/EA07BasicinfoCest.php +++ b/codeception/acceptance/EA07BasicinfoCest.php @@ -77,14 +77,14 @@ public function basicinfo_基本設定(AcceptanceTester $I) $I->wait(1); $page->登録(); - $I->see('保存しました', ShopSettingPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, ShopSettingPage::$登録完了メッセージ); $I->amOnPage('/help/about'); - $I->see('サンプル会社名', '#help_about_box__company_name dd'); - $I->see('サンプルショップ', '#help_about_box__shop_name dd'); - $I->see('1000001', '#help_about_box__address dd'); - $I->see('東京都千代田区千代田', '#help_about_box__address dd'); - $I->see('05055555555', '#help_about_box__phone_number dd'); + $I->waitForText('サンプル会社名', 10, '#help_about_box__company_name dd'); + $I->waitForText('サンプルショップ', 10, '#help_about_box__shop_name dd'); + $I->waitForText('1000001', 10, '#help_about_box__address dd'); + $I->waitForText('東京都千代田区千代田', 10, '#help_about_box__address dd'); + $I->waitForText('05055555555', 10, '#help_about_box__phone_number dd'); } public function basicinfo_会員設定_仮会員機能(AcceptanceTester $I) @@ -107,7 +107,7 @@ public function basicinfo_会員設定_仮会員機能(AcceptanceTester $I) $page = CustomerManagePage::go($I); $I->fillField('#admin_search_customer_multi', $email); $page->詳細検索_本会員(); - $I->see('検索結果:1件が該当しました', CustomerManagePage::$検索結果メッセージ); + $I->waitForText('検索結果:1件が該当しました', 10, CustomerManagePage::$検索結果メッセージ); $I->see($email); $I->wantTo('EA0701-UC01-T05_会員設定の設定、編集(仮会員機能:有効)'); @@ -129,7 +129,7 @@ public function basicinfo_会員設定_仮会員機能(AcceptanceTester $I) $page = CustomerManagePage::go($I); $I->fillField('#admin_search_customer_multi', $email); $page->詳細検索_仮会員(); - $I->see('検索結果:1件が該当しました', CustomerManagePage::$検索結果メッセージ); + $I->waitForText('検索結果:1件が該当しました', 10, CustomerManagePage::$検索結果メッセージ); $I->see($email); } @@ -154,7 +154,7 @@ public function basicinfo_会員設定_マイページ注文状況(AcceptanceTes ->登録(); MyPage::go($I)->注文履歴(); - $I->see('ご注文状況', '.ec-historyRole'); + $I->waitForText('ご注文状況', 10, '.ec-historyRole'); } public function basicinfo_会員設定_お気に入り(AcceptanceTester $I) @@ -178,10 +178,10 @@ public function basicinfo_会員設定_お気に入り(AcceptanceTester $I) ->登録(); $I->amOnPage('/'); - $I->see('お気に入り', '.ec-headerNav'); + $I->waitForText('お気に入り', 10, '.ec-headerNav'); $I->amOnPage('/products/detail/1'); - $I->see('お気に入りに追加', '.ec-productRole__btn'); + $I->waitForText('お気に入りに追加', 10, ['id' => 'favorite']); } public function basicinfo_会員設定_自動ログイン(AcceptanceTester $I) @@ -206,7 +206,7 @@ public function basicinfo_会員設定_自動ログイン(AcceptanceTester $I) ->登録(); $I->amOnPage('/mypage/login'); - $I->see('次回から自動的にログインする', '#login_mypage'); + $I->waitForText('次回から自動的にログインする', 10, '#login_mypage'); $I->checkOption('#login_memory'); $I->submitForm('#login_mypage', [ 'login_email' => $customer->getEmail(), @@ -215,7 +215,7 @@ public function basicinfo_会員設定_自動ログイン(AcceptanceTester $I) $I->amOnPage('/mypage'); $I->seeCookie('eccube_remember_me'); - $I->see('ログアウト', '.ec-headerNaviRole'); + $I->waitForText('ログアウト', 10, '.ec-headerNaviRole'); $I->dontSee('ログイン', '.ec-headerNaviRole'); $I->logoutAsMember(); @@ -231,7 +231,7 @@ public function basicinfo_商品設定の設定、編集_在庫切れ商品の ProductEditPage::at($I) ->入力_在庫数(0) ->登録(); - $I->see('保存しました', ProductEditPage::$登録結果メッセージ); + $I->waitForText('保存しました', 10, ProductEditPage::$登録結果メッセージ); $I->wantTo('EA0701-UC01-T13 商品設定の設定、編集(在庫切れ商品の非表示:有効)'); @@ -243,7 +243,7 @@ public function basicinfo_商品設定の設定、編集_在庫切れ商品の $topPage = TopPage::go($I); $I->fillField(['class' => 'search-name'], 'チェリーアイスサンド'); $topPage->検索(); - $I->see('お探しの商品は見つかりませんでした'); + $I->waitForText('お探しの商品は見つかりませんでした'); $I->wantTo('EA0701-UC01-T14 商品設定の設定、編集(在庫切れ商品の非表示:無効)'); @@ -255,7 +255,7 @@ public function basicinfo_商品設定の設定、編集_在庫切れ商品の $topPage = TopPage::go($I); $I->fillField(['class' => 'search-name'], 'チェリーアイスサンド'); $topPage->検索(); - $I->see('チェリーアイスサンド', '.ec-shelfGrid'); + $I->waitForText('チェリーアイスサンド', 10, '.ec-shelfGrid'); } public function basicinfo_税設定(AcceptanceTester $I) @@ -269,7 +269,7 @@ public function basicinfo_税設定(AcceptanceTester $I) $I->expect('商品登録画面で、税率の入力欄が表示されている'); ProductEditPage::go($I); - $I->see('税率', '.c-contentsArea'); + $I->waitForText('税率', 10, '.c-contentsArea'); $I->seeElement('#admin_product_class_tax_rate'); $I->amGoingTo('税設定を無効化'); @@ -303,7 +303,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) ->入力_販売価格(2800) ->入力_在庫数(1000) ->登録(); - $I->see('保存しました', ProductEditPage::$登録結果メッセージ); + $I->waitForText('保存しました', 10, ProductEditPage::$登録結果メッセージ); $I->amGoingTo('会員を作成'); $createCustomer = Fixtures::get('createCustomer'); @@ -325,21 +325,21 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('注文手続き画面・確認画面にて、加算ポイントが表示されていること'); CartPage::go($I)->レジに進む(); - $I->see('加算ポイント'); + $I->waitForText('加算ポイント'); $I->see($expected_point_text, CartPage::$加算ポイント); ShoppingPage::at($I)->確認する(); - $I->see('加算ポイント'); + $I->waitForText('加算ポイント'); $I->see($expected_point_text, CartPage::$加算ポイント); $I->amGoingTo('注文完了'); ShoppingConfirmPage::at($I)->注文する(); - $I->see('ご注文ありがとうございました'); + $I->waitForText('ご注文ありがとうございました'); $I->expect('マイベージ 注文詳細にて、加算ポイントが表示されていること'); MyPage::go($I)->注文履歴詳細(0); HistoryPage::at($I); - $I->see('加算ポイント'); + $I->waitForText('加算ポイント'); $I->see($expected_point_text, HistoryPage::$加算ポイント); $I->expect('管理画面・受注管理にて、加算ポイントが表示されていること'); @@ -362,7 +362,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('マイベージにて、ポイントが付与されていること'); MyPage::go($I); - $I->see('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); + $I->waitForText('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); // "ポイント換算レート"に任意の値を設定し、ポイント利用の確認を行う $I->wantTo('EA0701-UC01-T16 ポイント設定(有効) ポイント換算レート'); @@ -374,7 +374,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('所持ポイントが表示されていること'); CartPage::go($I)->レジに進む(); - $I->see('利用ポイント'); + $I->waitForText('利用ポイント'); $I->see(number_format($customerPoint).' pt が利用可能です。'); $I->amGoingTo('利用ポイントを設定'); @@ -388,7 +388,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->amGoingTo('注文完了 (ポイントが減算される)'); ShoppingConfirmPage::at($I)->注文する(); - $I->see('ご注文ありがとうございました'); + $I->waitForText('ご注文ありがとうございました'); $customerPoint -= $expected_point; $I->expect('管理画面・受注管理にて、利用ポイントが計算されていること'); @@ -428,7 +428,7 @@ public function basicinfo_ポイント設定_有効(AcceptanceTester $I) $I->expect('マイベージにて、ポイントが減少していること'); MyPage::go($I); - $I->see('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); + $I->waitForText('現在の所持ポイントは '.number_format($customerPoint).'pt です。'); } public function basicinfo_ポイント設定_無効(AcceptanceTester $I) @@ -459,7 +459,7 @@ public function basicinfo_ポイント設定_無効(AcceptanceTester $I) $I->amGoingTo('注文完了'); ShoppingConfirmPage::at($I)->注文する(); - $I->see('ご注文ありがとうございました'); + $I->waitForText('ご注文ありがとうございました'); $I->expect('マイベージにて、加算ポイントが表示されていないこと'); MyPage::go($I)->注文履歴詳細(0); @@ -497,7 +497,7 @@ public function basicinfo_特定商取引法の設定(AcceptanceTester $I) ->入力(TradelawSettingPage::$その他06, 'その他06名称', 'その他06説明') ->登録(); - $I->see('保存しました', TradelawSettingPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, TradelawSettingPage::$登録完了メッセージ); $I->expect('「特定商取引法に基づく表記」ページを表示して変更が反映されていることを確認します'); @@ -543,19 +543,19 @@ public function basicinfo_特定商取引法の設定(AcceptanceTester $I) ->カートに入れる(1) ->カートへ進む(); CartPage::go($I)->レジに進む(); - $I->see('引き渡し時期名称', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('引き渡し時期説明', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('返品交換について名称', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('返品交換について説明', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->waitForText('引き渡し時期名称', 10, ['css' => '#shopping-form']); + $I->waitForText('引き渡し時期説明', 10, ['css' => '#shopping-form']); + $I->waitForText('返品交換について名称', 10, ['css' => '#shopping-form']); + $I->waitForText('返品交換について説明', 10, ['css' => '#shopping-form']); ShoppingPage::at($I)->確認する(); - $I->see('引き渡し時期名称', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('引き渡し時期説明', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('返品交換について名称', ['css' => '#shopping-form div.ec-orderConfirm']); - $I->see('返品交換について説明', ['css' => '#shopping-form div.ec-orderConfirm']); + $I->waitForText('引き渡し時期名称', 10, ['css' => '#shopping-form']); + $I->waitForText('引き渡し時期説明', 10, ['css' => '#shopping-form']); + $I->waitForText('返品交換について名称', 10, ['css' => '#shopping-form']); + $I->waitForText('返品交換について説明', 10, ['css' => '#shopping-form']); ShoppingConfirmPage::at($I)->注文する(); - $I->see('ご注文ありがとうございました'); + $I->waitForText('ご注文ありがとうございました'); } public function basicinfo_会員規約(AcceptanceTester $I) @@ -572,7 +572,7 @@ public function basicinfo_会員規約(AcceptanceTester $I) ->入力_内容($after) ->登録(); - $I->see('保存しました', PageEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PageEditPage::$登録完了メッセージ); $I->amOnPage('/help/agreement'); $I->see($test_text); @@ -585,7 +585,7 @@ public function basicinfo_支払方法一覧(AcceptanceTester $I) // 表示 $PaymentManagePage = PaymentManagePage::go($I); - $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(1)); } /** @@ -600,15 +600,15 @@ public function basicinfo_支払方法入れ替え(AcceptanceTester $I) $PaymentManagePage = PaymentManagePage::go($I); // 入れ替え - $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(1)); $PaymentManagePage->一覧_下に(1); $PaymentManagePage = PaymentManagePage::go($I); - $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(2)); + $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(2)); $PaymentManagePage->一覧_上に(2); $PaymentManagePage = PaymentManagePage::go($I); - $I->see('郵便振替', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('郵便振替', 10, $PaymentManagePage->一覧_支払方法(1)); } /** @@ -632,10 +632,10 @@ public function basicinfo_支払方法登録(AcceptanceTester $I) ->登録(); PaymentEditPage::at($I); - $I->see('保存しました', PaymentEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PaymentEditPage::$登録完了メッセージ); $PaymentManagePage = PaymentManagePage::go($I); - $I->see('payment method1', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('payment method1', 10, $PaymentManagePage->一覧_支払方法(1)); } /** @@ -657,10 +657,10 @@ public function basicinfo_支払方法編集(AcceptanceTester $I) ->登録(); PaymentEditPage::at($I); - $I->see('保存しました', PaymentEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, PaymentEditPage::$登録完了メッセージ); $PaymentManagePage = PaymentManagePage::go($I); - $I->see('payment method2', $PaymentManagePage->一覧_支払方法(1)); + $I->waitForText('payment method2', 10, $PaymentManagePage->一覧_支払方法(1)); } /** @@ -677,12 +677,13 @@ public function basicinfo_支払方法削除(AcceptanceTester $I) PaymentEditPage::at($I) ->入力_支払方法('dummy payment') ->登録(); + $I->waitForText('保存しました', 10, PaymentEditPage::$登録完了メッセージ); // 削除 $page = PaymentManagePage::go($I); $before = $page->一覧_件数取得(); $page->一覧_削除(1); - $I->see('削除しました', PaymentEditPage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, PaymentEditPage::$登録完了メッセージ); $after = PaymentManagePage::go($I)->一覧_件数取得(); $I->assertEquals($before - 1, $after); @@ -695,7 +696,7 @@ public function basicinfo_配送方法一覧(AcceptanceTester $I) // 表示 $DeliveryManagePage = DeliveryManagePage::go($I); - $I->see('サンプル宅配', $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('サンプル宅配', 10, $DeliveryManagePage->一覧_名称(2)); } /** @@ -722,10 +723,10 @@ public function basicinfo_配送方法登録(AcceptanceTester $I) $Page->登録(); DeliveryEditPage::at($I); - $I->see('保存しました', DeliveryEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, DeliveryEditPage::$登録完了メッセージ); $DeliveryManagePage = DeliveryManagePage::go($I); - $I->see('配送業者名', $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('配送業者名', 10, $DeliveryManagePage->一覧_名称(2)); } /** @@ -746,10 +747,10 @@ public function basicinfo_配送方法編集(AcceptanceTester $I) ->登録(); DeliveryEditPage::at($I); - $I->see('保存しました', DeliveryEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, DeliveryEditPage::$登録完了メッセージ); $DeliveryManagePage = DeliveryManagePage::go($I); - $I->see('配送業者名1', $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('配送業者名1', 10, $DeliveryManagePage->一覧_名称(2)); } /** @@ -764,7 +765,7 @@ public function basicinfo_配送方法削除(AcceptanceTester $I) $page = DeliveryManagePage::go($I); $before = $page->一覧_件数取得(); $page->一覧_削除(2); - $I->see('削除しました', DeliveryManagePage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, DeliveryManagePage::$登録完了メッセージ); $after = DeliveryManagePage::go($I)->一覧_件数取得(); $I->assertEquals($before - 1, $after); @@ -779,16 +780,16 @@ public function basicinfo_配送方法一覧順序変更(AcceptanceTester $I) $I->wantTo('EA0706-UC02-T01 配送方法一覧順序変更'); $DeliveryManagePage = DeliveryManagePage::go($I); - $I->see('サンプル宅配 / サンプル宅配', $DeliveryManagePage->一覧_名称(2)); - $I->see('サンプル業者 / サンプル業者', $DeliveryManagePage->一覧_名称(3)); + $I->waitForText('サンプル宅配 / サンプル宅配', 10, $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('サンプル業者 / サンプル業者', 10, $DeliveryManagePage->一覧_名称(3)); $DeliveryManagePage->一覧_下に(2); - $I->see('サンプル業者 / サンプル業者', $DeliveryManagePage->一覧_名称(2)); - $I->see('サンプル宅配 / サンプル宅配', $DeliveryManagePage->一覧_名称(3)); + $I->waitForText('サンプル業者 / サンプル業者', 10, $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('サンプル宅配 / サンプル宅配', 10, $DeliveryManagePage->一覧_名称(3)); $DeliveryManagePage->一覧_上に(3); - $I->see('サンプル宅配 / サンプル宅配', $DeliveryManagePage->一覧_名称(2)); - $I->see('サンプル業者 / サンプル業者', $DeliveryManagePage->一覧_名称(3)); + $I->waitForText('サンプル宅配 / サンプル宅配', 10, $DeliveryManagePage->一覧_名称(2)); + $I->waitForText('サンプル業者 / サンプル業者', 10, $DeliveryManagePage->一覧_名称(3)); } /** @@ -803,15 +804,15 @@ public function basicinfo_税率設定(AcceptanceTester $I) $TaxManagePage = TaxManagePage::go($I); // 一覧 - $I->see('税率設定', '#page_admin_setting_shop_tax > div.c-container > div.c-contentsArea > div.c-contentsArea__cols > div > div > div > div.card-header'); - $I->see('10%', '#ex-tax_rule-1 > td.align-middle.text-end'); + $I->waitForText('税率設定', 10, '#page_admin_setting_shop_tax > div.c-container > div.c-contentsArea > div.c-contentsArea__cols > div > div > div > div.card-header'); + $I->waitForText('10%', 10, '#ex-tax_rule-1 > td.align-middle.text-end'); // 登録 $TaxManagePage ->入力_消費税率(1, '8') ->入力_適用日(date('Y'), date('m'), date('d')) ->共通税率設定_登録(); - $I->see('8%', $TaxManagePage->一覧_税率(2)); + $I->waitForText('8%', 10, $TaxManagePage->一覧_税率(2)); // edit $TaxManagePage @@ -819,12 +820,12 @@ public function basicinfo_税率設定(AcceptanceTester $I) ->入力_消費税率(2, 12) ->決定(2); - $I->see('保存しました', TaxManagePage::$登録完了メッセージ); - $I->see('12%', $TaxManagePage->一覧_税率(2)); + $I->waitForText('保存しました', 10, TaxManagePage::$登録完了メッセージ); + $I->waitForText('12%', 10, $TaxManagePage->一覧_税率(2)); // 削除 $TaxManagePage->一覧_削除(2); - $I->see('削除しました', TaxManagePage::$登録完了メッセージ); + $I->waitForText('削除しました', 10, TaxManagePage::$登録完了メッセージ); } /** @@ -842,7 +843,7 @@ public function basicinfo_メール設定(AcceptanceTester $I) ->入力_件名($title) ->登録(); - $I->see('保存しました', MailSettingsPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, MailSettingsPage::$登録完了メッセージ); // 結果確認 $I->resetEmails(); @@ -868,7 +869,7 @@ public function basicinfo_CSV出力項目(AcceptanceTester $I) ->削除() ->設定(); - $I->see('保存しました', CsvSettingsPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, CsvSettingsPage::$登録完了メッセージ); // CSVダウンロード OrderManagePage::go($I)->受注CSVダウンロード実行(); @@ -894,7 +895,7 @@ public function basicinfo_受注対応状況設定(AcceptanceTester $I) ->入力_色('#19406C') ->登録(); - $I->see('保存しました', OrderStatusSettingsPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, OrderStatusSettingsPage::$登録完了メッセージ); OrderStatusSettingsPage::go($I); $I->seeInField(OrderStatusSettingsPage::$名称_マイページ, '注文受付'); @@ -921,7 +922,7 @@ public function basicinfo_定休日カレンダー_表示(AcceptanceTester $I) ->入力_タイトル($title) ->入力_日付($date->format('Y-m-d')) ->登録(); - $I->see('保存しました', CalendarSettingsPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, CalendarSettingsPage::$登録完了メッセージ); } // レイアウト設定でカレンダーブロックを登録 @@ -929,11 +930,11 @@ public function basicinfo_定休日カレンダー_表示(AcceptanceTester $I) LayoutEditPage::at($I) ->ブロックを移動('カレンダー', '#position_7') ->登録(); - $I->see('保存しました', LayoutEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, LayoutEditPage::$登録完了メッセージ); // フロント画面でカレンダーが表示されていることを確認 $I->amOnPage('/'); - $I->see('カレンダー', ['class' => 'ec-layoutRole__mainBottom']); + $I->waitForText('カレンダー', 10, ['class' => 'ec-layoutRole__mainBottom']); // フロント画面で定休日にクラス .ec-calendar__holiday が設定されていることを確認 $I->seeElement(['xpath' => '//table[@id="this-month-table"]//td[contains(@class,"ec-calendar__holiday")][text()="'.$holidays['定休日1']->format('j').'"]']); @@ -965,7 +966,7 @@ public function basicinfo_認証キー設定(AcceptanceTester $I) $I->expect('認証キーの登録ボタンをクリックします。'); $I->click(['css' => '.btn-ec-conversion']); - $I->see('保存しました'); + $I->waitForText('保存しました'); } public function basicinfo_税設定_適格請求書発行事業者登録番号(AcceptanceTester $I) @@ -980,7 +981,7 @@ public function basicinfo_税設定_適格請求書発行事業者登録番号(A ->入力_適格請求書発行事業者登録番号('T1234567890123') ->登録(); - $I->see('保存しました', ShopSettingPage::$登録完了メッセージ); + $I->waitForText('保存しました', 10, ShopSettingPage::$登録完了メッセージ); $I->expect('納品書を出力します'); $findOrders = Fixtures::get('findOrders'); // Closure @@ -988,7 +989,7 @@ public function basicinfo_税設定_適格請求書発行事業者登録番号(A return !in_array($Order->getOrderStatus()->getId(), [OrderStatus::PROCESSING, OrderStatus::PENDING]); }); $OrderListPage = OrderManagePage::go($I)->検索(); - $I->see('検索結果:'.count($TargetOrders).'件が該当しました', OrderManagePage::$検索結果_メッセージ); + $I->waitForText('検索結果:'.count($TargetOrders).'件が該当しました', 10, OrderManagePage::$検索結果_メッセージ); $OrderListPage->すべてチェック(); $OrderListPage->要素をクリック('#form_bulk #bulkExportPdf'); @@ -997,7 +998,7 @@ public function basicinfo_税設定_適格請求書発行事業者登録番号(A $I->switchToWindow('newwin'); // Check redirect to form pdf information - $I->see('納品書出力受注管理', OrderManagePage::$タイトル要素); + $I->waitForText('納品書出力受注管理', 10, OrderManagePage::$タイトル要素); $I->click('.btn-ec-conversion'); $I->wait(2); diff --git a/codeception/acceptance/EA08SysteminfoCest.php b/codeception/acceptance/EA08SysteminfoCest.php index 68051931c4c..1b85f43bdac 100644 --- a/codeception/acceptance/EA08SysteminfoCest.php +++ b/codeception/acceptance/EA08SysteminfoCest.php @@ -368,6 +368,7 @@ public function systeminfo_権限管理登録(AcceptanceTester $I) 'authority' => '店舗オーナー', ]) ->登録(); + $I->waitForText('保存しました'); $I->wantTo('EA0805-UC01-T01 権限管理 - 登録'); @@ -376,7 +377,7 @@ public function systeminfo_権限管理登録(AcceptanceTester $I) ->行追加() ->入力(1, ['1' => '店舗オーナー'], '/setting') ->登録(); - $I->see('保存しました', AuthorityManagePage::$完了メッセージ); + $I->waitForText('保存しました', 10, AuthorityManagePage::$完了メッセージ); $I->wantTo('EA0805-UC01-T02 権限管理 - 登録'); @@ -470,13 +471,14 @@ public function systeminfo_ログ表示(AcceptanceTester $I) $I->amOnPage('/'.$config['eccube_admin_route'].'/setting/system/log'); $I->see('ログ表示システム設定', '.c-pageTitle'); - $option = $I->grabTextFrom('#admin_system_log_files option:nth-child(1)'); + $option = $I->grabTextFrom(['css' => '#admin_system_log_files option:nth-child(1)']); $I->selectOption('#admin_system_log_files', $option); $I->fillField(['id' => 'admin_system_log_line_max'], '10'); $I->click(['css' => '#form1 button']); - $logs = $I->grabTextFrom('.c-contentsArea textarea'); + $I->waitForElement(['css' => '.c-contentsArea textarea']); + $logs = $I->grabTextFrom(['css' => '.c-contentsArea textarea']); $I->assertLessThanOrEqual(10, count(explode("\n", $logs)), 'ログ件数を確認'); $I->seeInField(['id' => 'admin_system_log_line_max'], '10'); } diff --git a/codeception/acceptance/EA09ShippingCest.php b/codeception/acceptance/EA09ShippingCest.php index d4716ddc966..2988784b44a 100644 --- a/codeception/acceptance/EA09ShippingCest.php +++ b/codeception/acceptance/EA09ShippingCest.php @@ -145,9 +145,8 @@ public function shippingお届け先追加(AcceptanceTester $I) ->入力_番地_ビル名('address 2', 1) ->出荷情報登録(); - $I->see('保存しました', ShippingEditPage::$登録完了メッセージ); + $I->waitForText('保存しました', null, ShippingEditPage::$登録完了メッセージ); - $I->wait(10); // 出荷済みに変更 $ShippingRegisterPage ->出荷完了にする() diff --git a/codeception/acceptance/EF06OtherCest.php b/codeception/acceptance/EF06OtherCest.php index ef7660f0d39..b57c0e38285 100644 --- a/codeception/acceptance/EF06OtherCest.php +++ b/codeception/acceptance/EF06OtherCest.php @@ -49,7 +49,7 @@ public function other_ログイン異常1(AcceptanceTester $I) 'login_pass' => 'password', ]); - $I->see('ログインできませんでした。', 'div.ec-login p.ec-errorMessage'); + $I->waitForText('ログインできませんでした。', 10, 'div.ec-login p.ec-errorMessage'); } public function other_ログイン異常2(AcceptanceTester $I) @@ -66,7 +66,7 @@ public function other_ログイン異常2(AcceptanceTester $I) 'login_pass' => 'password', ]); - $I->see('ログインできませんでした。', 'div.ec-login p.ec-errorMessage'); + $I->waitForText('ログインできませんでした。', 10, 'div.ec-login p.ec-errorMessage'); } /** @@ -82,7 +82,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->click('#login_mypage a:first-child'); // TOPページ>ログイン>パスワード再発行 - $I->see('パスワードの再発行', 'div.ec-pageHeader h1'); + $I->waitForText('パスワードの再発行', 10, 'div.ec-pageHeader h1'); // メールアドレスを入力する // 「次のページへ」ボタンを押下する @@ -92,7 +92,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->submitForm('#form1', [ 'login_email' => $customer->getEmail(), ]); - $I->see('パスワードの再発行(メール送信)', 'div.ec-pageHeader h1'); + $I->waitForText('パスワードの再発行(メール送信)', 10, 'div.ec-pageHeader h1'); $I->seeEmailCount(1); $I->seeInLastEmailSubjectTo($customer->getEmail(), 'パスワード変更のご確認'); @@ -103,7 +103,7 @@ public function other_パスワード再発行(AcceptanceTester $I) $I->resetEmails(); $I->amOnPage($url); - $I->see('パスワード再発行(再設定)', 'div.ec-pageHeader h1'); + $I->waitForText('パスワード再発行(再設定)', 10, 'div.ec-pageHeader h1'); $password = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, 16).'1234'; @@ -114,7 +114,7 @@ public function other_パスワード再発行(AcceptanceTester $I) 'password[second]' => $password, ]); - $I->see('ログイン', 'div.ec-pageHeader h1'); + $I->waitForText('ログイン', 10, 'div.ec-pageHeader h1'); $I->loginAsMember($customer->getEmail(), $password); } @@ -141,7 +141,7 @@ public function other_当サイトについて(AcceptanceTester $I) $I->wantTo('EF0604-UC01-T01 当サイトについて'); $I->amOnPage('/help/about'); - $I->see('当サイトについて', 'div.ec-pageHeader h1'); + $I->waitForText('当サイトについて', 10, 'div.ec-pageHeader h1'); $baseinfo = Fixtures::get('baseinfo'); $I->see($baseinfo->getShopName(), '#help_about_box__shop_name'); } @@ -154,8 +154,8 @@ public function other_プライバシーポリシー(AcceptanceTester $I) $I->wantTo('EF0605-UC01-T01 プライバシーポリシー'); $I->amOnPage('/help/privacy'); - $I->see('プライバシーポリシー', 'div.ec-pageHeader > h1'); - $I->see('個人情報保護の重要性に鑑み、「個人情報の保護に関する法律」及び本プライバシーポリシーを遵守し、お客さまのプライバシー保護に努めます。', 'main > div > div:nth-child(2) > div > p'); + $I->waitForText('プライバシーポリシー', 10, 'div.ec-pageHeader > h1'); + $I->waitForText('個人情報保護の重要性に鑑み、「個人情報の保護に関する法律」及び本プライバシーポリシーを遵守し、お客さまのプライバシー保護に努めます。', 10, 'main > div > div:nth-child(2) > div > p'); } /** @@ -166,7 +166,7 @@ public function other_特定商取引法に基づく表記(AcceptanceTester $I) $I->wantTo('EF0606-UC01-T01 特定商取引法に基づく表記'); $I->amOnPage('/help/tradelaw'); - $I->see('特定商取引法に基づく表記', 'div.ec-pageHeader h1'); + $I->waitForText('特定商取引法に基づく表記', 10, 'div.ec-pageHeader h1'); } /** @@ -181,7 +181,7 @@ public function other_お問い合わせ1(AcceptanceTester $I) $new_email = microtime(true).'.'.$faker->safeEmail; $BaseInfo = Fixtures::get('baseinfo'); - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->fillField(['id' => 'contact_name_name01'], '姓'); $I->fillField(['id' => 'contact_name_name02'], '名'); @@ -196,11 +196,11 @@ public function other_お問い合わせ1(AcceptanceTester $I) $I->fillField(['id' => 'contact_contents'], 'お問い合わせ内容の送信'); $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->click('div.ec-contactConfirmRole div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 完了ページ - $I->see('お問い合わせ(完了)', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ(完了)', 10, 'div.ec-pageHeader h1'); // メールチェック $message = $I->lastMessage(); @@ -222,7 +222,7 @@ public function other_お問い合わせ2(AcceptanceTester $I) $new_email = microtime(true).'.'.$faker->safeEmail; $BaseInfo = Fixtures::get('baseinfo'); - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->fillField(['id' => 'contact_name_name01'], '姓'); $I->fillField(['id' => 'contact_name_name02'], '名'); @@ -238,11 +238,11 @@ public function other_お問い合わせ2(AcceptanceTester $I) $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 確認画面 → 戻る - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->click('div.ec-contactConfirmRole div.ec-RegisterRole__actions button.ec-blockBtn--cancel'); // 入力画面 → フォーム入力内容の再チェック - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->seeInFormFields('.ec-contactRole form', [ 'contact[name][name01]' => '姓', 'contact[name][name02]' => '名', @@ -255,11 +255,11 @@ public function other_お問い合わせ2(AcceptanceTester $I) $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 確認画面 → 送信 - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->click('div.ec-contactConfirmRole div.ec-RegisterRole__actions button.ec-blockBtn--action'); // 完了ページ - $I->see('お問い合わせ(完了)', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ(完了)', 10, 'div.ec-pageHeader h1'); // メールチェック $message = $I->lastMessage(); @@ -277,17 +277,18 @@ public function other_お問い合わせ_異常(AcceptanceTester $I) $I->wantTo('EF0607-UC01-T03 お問い合わせ 異常'); $I->amOnPage('/contact'); - $I->see('お問い合わせ', 'div.ec-pageHeader h1'); + $I->waitForText('お問い合わせ', 10, 'div.ec-pageHeader h1'); $I->click('div.ec-RegisterRole__actions button.ec-blockBtn--action'); - $I->see('入力されていません', '.ec-contactRole .error .ec-errorMessage:last-child'); + $I->waitForText('入力されていません', 10, '.ec-contactRole .error .ec-errorMessage:last-child'); } public function other_サイトマップ(AcceptanceTester $I) { $I->wantTo('EF0608-UC01-T01_サイトマップ'); $I->amOnPage('/sitemap.xml'); + $I->wait(10); $I->see('/sitemap_page.xml'); $I->see('/sitemap_category.xml'); @@ -304,24 +305,28 @@ public function other_サイトマップ_ページ(AcceptanceTester $I) // 表示確認 $I->amOnPage($sitemapUrl); + $I->wait(10); $I->see($topPageLoc); // メタ設定 → robots noindex → 非表示になる PageManagePage::go($I)->ページ編集('TOPページ'); PageEditPage::at($I)->入力_メタ_robot('noindex')->登録(); $I->amOnPage($sitemapUrl); + $I->wait(10); $I->dontSee($topPageLoc); // メタ設定 → robots none → 非表示になる PageManagePage::go($I)->ページ編集('TOPページ'); PageEditPage::at($I)->入力_メタ_robot('none')->登録(); $I->amOnPage($sitemapUrl); + $I->wait(10); $I->dontSee($topPageLoc); // メタ設定 → robots 解除 → 表示される PageManagePage::go($I)->ページ編集('TOPページ'); PageEditPage::at($I)->入力_メタ_robot('')->登録(); $I->amOnPage($sitemapUrl); + $I->wait(10); $I->see($topPageLoc); } @@ -329,6 +334,7 @@ public function other_サイトマップ_カテゴリ(AcceptanceTester $I) { $I->wantTo('EF0608-UC01-T03_サイトマップ(カテゴリ)'); $I->amOnPage('/sitemap_category.xml'); + $I->wait(10); $I->see('/products/list?category_id=1'); } @@ -359,7 +365,7 @@ public function other_サイトマップ_商品(AcceptanceTester $I) // 在庫なし商品の準備 $I->amOnPage($productEditUrl); ProductEditPage::at($I)->入力_在庫数(0)->登録(); - $I->see('保存しました', ProductEditPage::$登録結果メッセージ); + $I->waitForText('保存しました', 10, ProductEditPage::$登録結果メッセージ); // 公開・在庫切れ商品を表示しない $I->amOnPage($productEditUrl); diff --git a/codeception/acceptance/EF08InvoiceCest.php b/codeception/acceptance/EF08InvoiceCest.php index b3c135e474d..b9083ea4122 100644 --- a/codeception/acceptance/EF08InvoiceCest.php +++ b/codeception/acceptance/EF08InvoiceCest.php @@ -55,6 +55,7 @@ public function _before(AcceptanceTester $I) PaymentEditPage::at($I) ->入力_手数料('2187') ->登録(); + $I->expect('商品登録をします'); ProductEditPage::go($I) ->入力_商品名('チョコ') @@ -62,6 +63,7 @@ public function _before(AcceptanceTester $I) ->入力_カテゴリ(1) ->入力_公開() ->登録(); + $I->waitForText('保存しました'); ProductEditPage::go($I) ->入力_商品名('バニラ') @@ -69,6 +71,7 @@ public function _before(AcceptanceTester $I) ->入力_カテゴリ(1) ->入力_公開() ->登録(); + $I->waitForText('保存しました'); ProductEditPage::go($I) ->入力_商品名('抹茶') @@ -77,6 +80,7 @@ public function _before(AcceptanceTester $I) ->入力_税率(8) ->入力_公開() ->登録(); + $I->waitForText('保存しました'); } public function invoice_商品購入_税額確認(AcceptanceTester $I) @@ -115,6 +119,7 @@ public function invoice_商品購入_税額確認(AcceptanceTester $I) $I->scrollTo('#shopping-form div.ec-orderRole__summary div.ec-totalBox button'); $I->wait(2); ShoppingPage::at($I)->確認する(); + $I->waitForText('ご注文内容のご確認', 10, 'div.ec-pageHeader h1'); $I->expect('注文内容を確認します'); $I->see('¥787,000', ['xpath' => ShoppingPage::$小計]);