web_tester_documentation.html.svn-base

来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 567 行 · 第 1/2 页

SVN-BASE
567
字号
        $this-&gt;get('http://simpletest.sourceforge.net/');        $this-&gt;assertResponse(200);    }}</pre>                Alors l'assertion 茅choue comme pr茅vue...<pre class="shell">Web site tests1) Expecting response in [200] got [302]    in testhomepage    in testoflastcraft    in lastcraft_test.phpFAILURES!!!Test cases run: 1/1, Failures: 1, Exceptions: 0</pre>                Nous pouvons modifier le test pour accepter les redirections...<pre>class TestOfLastcraft extends WebTestCase {        function testHomepage() {        $this-&gt;setMaximumRedirects(0);        $this-&gt;get('http://simpletest.sourceforge.net/');        $this-&gt;assertResponse(<strong>array(301, 302, 303, 307)</strong>);    }}</pre>                Maitenant 莽a passe.            </p>                <p><a class="target" name="navigation"><h2>Navigeur dans un site web</h2></a></p>            <p>                Les utilisateurs ne naviguent pas souvent en tapant les URLs,                mais surtout en cliquant sur des liens et des boutons.                Ici nous confirmons que les informations sur le contact                peuvent 锚tre atteintes depuis la page d'accueil...<pre>class TestOfLastcraft extends WebTestCase {    ...    function testContact() {        $this-&gt;get('http://www.lastcraft.com/');<strong>        $this-&gt;clickLink('About');        $this-&gt;assertTitle('About Last Craft');</strong>    }}</pre>                Le param猫tre est le texte du lien.            </p>            <p>                Il l'objectif est un bouton plut么t qu'une balise ancre,                alors <span class="new_code">clickSubmit()</span> doit 锚tre utilis茅 avec                le titre du bouton...<pre><strong>$this-&gt;clickSubmit('Go!');</strong></pre>            </p>            <p>                La liste des m茅thodes de navigation est...                <table><tbody>                    <tr><td><span class="new_code">get($url, $parameters)</span></td><td>Envoie une requ锚te GET avec ces param猫tres</td></tr>                    <tr><td><span class="new_code">post($url, $parameters)</span></td><td>Envoie une requ锚te POST avec ces param猫tres</td></tr>                    <tr><td><span class="new_code">head($url, $parameters)</span></td><td>Envoie une requ锚te HEAD sans remplacer le contenu de la page</td></tr>                    <tr><td><span class="new_code">retry()</span></td><td>Relance la derni猫re requ锚te</td></tr>                    <tr><td><span class="new_code">back()</span></td><td>Identique au bouton "Pr茅c茅dent" du navigateur</td></tr>                    <tr><td><span class="new_code">forward()</span></td><td>Identique au bouton "Suivant" du navigateur</td></tr>                    <tr><td><span class="new_code">authenticate($name, $password)</span></td><td>Re-essaye avec une tentative d'authentification</td></tr>                    <tr><td><span class="new_code">getFrameFocus()</span></td><td>Le nom de la fen锚tre en cours d'utilisation</td></tr>                    <tr><td><span class="new_code">setFrameFocusByIndex($choice)</span></td><td>Change le focus d'une fen锚tre en commen莽ant par 1</td></tr>                    <tr><td><span class="new_code">setFrameFocus($name)</span></td><td>Change le focus d'une fen锚tre en utilisant son nom</td></tr>                    <tr><td><span class="new_code">clearFrameFocus()</span></td><td>Revient 脿 un traitement de toutes les fen锚tres comme une seule</td></tr>                    <tr><td><span class="new_code">clickSubmit($label)</span></td><td>Clique sur le premier bouton avec cette 茅tiquette</td></tr>                    <tr><td><span class="new_code">clickSubmitByName($name)</span></td><td>Clique sur le bouton avec cet attribut de nom</td></tr>                    <tr><td><span class="new_code">clickSubmitById($id)</span></td><td>Clique sur le bouton avec cet attribut d'identification</td></tr>                    <tr><td><span class="new_code">clickImage($label, $x, $y)</span></td><td>Clique sur une balise input de type image par son titre (title="*") our son texte alternatif (alt="*")</td></tr>                    <tr><td><span class="new_code">clickImageByName($name, $x, $y)</span></td><td>Clique sur une balise input de type image par son attribut (name="*")</td></tr>                    <tr><td><span class="new_code">clickImageById($id, $x, $y)</span></td><td>Clique sur une balise input de type image par son identifiant (id="*")</td></tr>                    <tr><td><span class="new_code">submitFormById($id)</span></td><td>Soumet un formulaire sans valeur de soumission</td></tr>                    <tr><td><span class="new_code">clickLink($label, $index)</span></td><td>Clique sur une ancre avec ce texte d'茅tiquette visible</td></tr>                    <tr><td><span class="new_code">clickLinkById($id)</span></td><td>Clique sur une ancre avec cet attribut d'identification</td></tr>                </tbody></table>            </p>            <p>                Les param猫tres dans les m茅thodes <span class="new_code">get()</span>,                 <span class="new_code">post()</span> et <span class="new_code">head()</span> sont optionnels.                Le t茅l茅chargement via  HTTP HEAD ne modifie pas                le contexte du navigateur, il se limite au chargement des cookies.                Cela peut 锚tre utilise lorsqu'une image ou une feuille de style                initie un cookie pour bloquer un robot trop entreprenant.            </p>            <p>                Les commandes <span class="new_code">retry()</span>, <span class="new_code">back()</span>                et <span class="new_code">forward()</span> fonctionnent exactement comme                dans un navigateur. Elles utilisent l'historique pour                relancer les pages. Une technique bien pratique pour                v茅rifier les effets d'un bouton retour sur vos formulaires.            </p>            <p>                Les m茅thodes sur les fen锚tres m茅ritent une petite explication.                Par d茅faut, une page avec des fen锚tres est trait茅e comme toutes                les autres. Le contenu sera v茅rifi茅 脿 travers l'ensemble de                la "frameset", par cons茅quent un lien fonctionnera,                peu importe la fen锚tre qui contient la balise ancre.                Vous pouvez outrepass茅 ce comportement en exigeant                le focus sur une unique fen锚tre. Si vous r茅alisez cela,                toutes les recherches et toutes les actions se limiteront                脿 cette unique fen锚tre, y compris les demandes d'authentification.                Si un lien ou un bouton n'est pas dans la fen锚tre en focus alors                il ne peut pas 锚tre cliqu茅.            </p>            <p>                Tester la navigation sur des pages fixes ne vous alerte que                quand vous avez cass茅 un script entier.                Pour des pages fortement dynamiques,                un forum de discussion par exemple,                莽a peut 锚tre crucial pour v茅rifier l'茅tat de l'application.                Pour la plupart des applications cependant,                la logique vraiment d茅licate se situe dans la gestion                des formulaires et des sessions.                Heureusement SimpleTest aussi inclut                <a href="form_testing_documentation.html">                des outils pour tester des formulaires web</a>.            </p>                <p><a class="target" name="requete"><h2>Modifier la requ锚te</h2></a></p>            <p>                Bien que SimpleTest n'ait pas comme objectif                de contr么ler des erreurs r茅seau, il contient quand m锚me                des m茅thodes pour modifier et d茅boguer les requ锚tes qu'il lance.                Voici une autre liste de m茅thode...                <table><tbody>                    <tr><td><span class="new_code">getTransportError()</span></td><td>La derni猫re erreur de socket</td></tr>                    <tr><td><span class="new_code">getUrl()</span></td><td>La localisation courante</td></tr>                    <tr><td><span class="new_code">showRequest()</span></td><td>D茅verse la requ锚te sortante</td></tr>                    <tr><td><span class="new_code">showHeaders()</span></td><td>D茅verse les ent锚tes d'entr茅e</td></tr>                    <tr><td><span class="new_code">showSource()</span></td><td>D茅verse le contenu brut de la page HTML</td></tr>                    <tr><td><span class="new_code">ignoreFrames()</span></td><td>Ne recharge pas les framesets</td></tr>                    <tr><td><span class="new_code">setCookie($name, $value)</span></td><td>Initie un cookie 脿 partir de maintenant</td></tr>                    <tr><td><span class="new_code">addHeader($header)</span></td><td>Ajoute toujours cette ent锚te 脿 la requ锚te</td></tr>                    <tr><td><span class="new_code">setMaximumRedirects($max)</span></td><td>S'arr锚te apr猫s autant de redirections</td></tr>                    <tr><td><span class="new_code">setConnectionTimeout($timeout)</span></td><td>Termine la connexion apr猫s autant de temps entre les bytes</td></tr>                    <tr><td><span class="new_code">useProxy($proxy, $name, $password)</span></td><td>Effectue les requ锚tes 脿 travers ce proxy d'URL</td></tr>                </tbody></table>            </p>            </div>        References and related information...        <ul><li>            La page du projet SimpleTest sur            <a href="http://sourceforge.net/projects/simpletest/">SourceForge</a>.        </li><li>            La page de t茅l茅chargement de SimpleTest sur            <a href="http://www.lastcraft.com/simple_test.php">LastCraft</a>.        </li><li>            <a href="http://simpletest.org/api/">L'API du d茅veloppeur pour SimpleTest</a>            donne tous les d茅tails sur les classes et les assertions disponibles.        </li></ul><div class="menu_back"><div class="menu"><a href="index.html">SimpleTest</a>                |                <a href="overview.html">Overview</a>                |                <a href="unit_test_documentation.html">Unit tester</a>                |                <a href="group_test_documentation.html">Group tests</a>                |                <a href="mock_objects_documentation.html">Mock objects</a>                |                <a href="partial_mocks_documentation.html">Partial mocks</a>                |                <a href="reporter_documentation.html">Reporting</a>                |                <a href="expectation_documentation.html">Expectations</a>                |                <a href="web_tester_documentation.html">Web tester</a>                |                <a href="form_testing_documentation.html">Testing forms</a>                |                <a href="authentication_documentation.html">Authentication</a>                |                <a href="browser_documentation.html">Scriptable browser</a></div></div><div class="copyright">            Copyright<br>Marcus Baker 2006        </div></body></html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?