0

複数ページのフォームがある Magento サイトをデバッグしています。このプロセスの最後にバグが発生します。新しいイテレーションをテストするたびにフォームを再入力するのは時間がかかります。

コアまたは拡張機能を使用してセッションを保存し、後で再ロードすることはできますか?

4

1 に答える 1

2

これを具体的に行う製品やプロジェクトはわかりませんが、フォームが実際にPHPセッションにその値を格納していると仮定すると、おそらく(つまり、これをテストしていませんが)自分で何かを一緒に投げることができます。

Magentoがファイルベースのセッションを使用するように構成されている場合、セッションはvar/sessionフォルダーにあります。$_SESSION次のコマンドラインスクリプトを使用して、このデータを配列に読み込むことができます(セッション名をsess_jd88xxih1f0qp81ar5pkdkc974)と仮定します。

<?php
    $file = file_get_contents('var/session/sess_jd88xxih1f0qp81ar5pkdkc974');
    session_start();
    session_decode($file);
    var_dump($_SESSION);

次に、の値を変更し$_SESSION、を使用して新しいセッション文字列を生成しますsession_encode

$_SESSION['test'] = 'foo baz bar';
$string = session_encode();
echo $string;

そして最後に、セッションファイルを書き戻します

file_put_contents('var/session/sess_jd88xxih1f0qp81ar5pkdkc974', $string);

そうは言っても、Seleniumのようなブラウザ自動化ツールを調べてください。これらのツールは、あなたが説明している種類の問題を解決するための事実上の方法のようです。

于 2012-11-09T23:55:04.027 に答える