📄 browser_documentation.html.svn-base
字号:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Documentation SimpleTest : le composant de navigation web scriptable</title><link rel="stylesheet" type="text/css" href="docs.css" title="Styles"></head><body><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><h1>Documentation sur le navigateur scriptable</h1> This page... <ul><li> Utiliser le <a href="#scripting">navigateur web dans des scripts</a> </li><li> <a href="#deboguer">D茅boguer</a> les erreurs sur les pages </li><li> <a href="#unit">Tests complexes avec des navigateurs web multiples</a> </li></ul><div class="content"> <p> Le composant de navigation web de SimpleTest peut 锚tre utilis茅 non seulement 脿 l'ext茅rieur de la classe <span class="new_code">WebTestCase</span>, mais aussi ind茅pendamment du framework SimpleTest lui-m锚me. </p> <p><a class="target" name="script"><h2>Le navigateur scriptable</h2></a></p> <p> Vous pouvez utiliser le navigateur web dans des scripts PHP pour confirmer que des services marchent bien comme il faut ou pour extraire des informations 脿 partir de ceux-ci de fa莽on r茅guli猫re. Par exemple, voici un petit script pour extraire le nombre de bogues ouverts dans PHP 5 脿 partir du <a href="http://www.php.net/">site web PHP</a>...<pre><?php require_once('simpletest/browser.php'); $browser = &new SimpleBrowser(); $browser->get('http://php.net/'); $browser->clickLink('reporting bugs'); $browser->clickLink('statistics'); $browser->clickLink('PHP 5 bugs only'); $page = $browser->getContent(); preg_match('/status=Open.*?by=Any.*?(\d+)<\/a>/', $page, $matches); print $matches[1];?></pre> Bien s没r Il y a des m茅thodes plus simple pour r茅aliser cet exemple en PHP. Par exemple, vous pourriez juste utiliser la commande PHP <span class="new_code">file()</span> sur ce qui est ici une page fixe. Cependant, en utilisant des scripts avec le navigateur web vous vous autorisez l'authentification, la gestion des cookies, le chargement automatique des fen锚tres, les redirections, la transmission de formulaires et la capacit茅 d'examiner les ent锚tes. De telles m茅thodes sont fragiles dans un site en constante 茅volution et vous voudrez employer une m茅thode plus directe pour acc茅der aux donn茅es de fa莽on permanente, mais pour des t芒ches simples cette technique peut s'av茅rer une solution tr猫s rapide. </p> <p> Toutes les m茅thode de navigation utilis茅es dans <a href="web_tester_documentation.html">WebTestCase</a> sont pr茅sente dans la classe <span class="new_code">SimpleBrowser</span>, mais les assertions sont remplac茅es par de simples accesseurs. Voici une liste compl猫te des m茅thodes de navigation de page 脿 page... <table><tbody> <tr><td><span class="new_code">addHeader($header)</span></td><td>Ajouter une ent锚te 脿 chaque t茅l茅chargement</td></tr> <tr><td><span class="new_code">useProxy($proxy, $username, $password)</span></td><td>Utilise ce proxy 脿 partir de maintenant</td></tr> <tr><td><span class="new_code">head($url, $parameters)</span></td><td>Effectue une requ锚te HEAD</td></tr> <tr><td><span class="new_code">get($url, $parameters)</span></td><td>T茅l茅charge une page avec un GET</td></tr> <tr><td><span class="new_code">post($url, $parameters)</span></td><td>T茅l茅charge une page avec un POST</td></tr> <tr><td><span class="new_code">clickLink($label)</span></td><td>Suit un lien par son 茅tiquette</td></tr> <tr><td><span class="new_code">isLink($label)</span></td><td>V茅rifie l'existance d'un lien par son 茅tiquette</td></tr> <tr><td><span class="new_code">clickLinkById($id)</span></td><td>Suit un lien par son attribut d'identification</td></tr> <tr><td><span class="new_code">isLinkById($id)</span></td><td>V茅rifie l'existance d'un lien par son attribut d'identification</td></tr> <tr><td><span class="new_code">getUrl()</span></td><td>La page ou la fen锚tre URL en cours</td></tr> <tr><td><span class="new_code">getTitle()</span></td><td>Le titre de la page</td></tr> <tr><td><span class="new_code">getContent()</span></td><td>Le page ou la fen锚tre brute</td></tr> <tr><td><span class="new_code">getContentAsText()</span></td><td>Sans code HTML 脿 l'exception du text "alt"</td></tr> <tr><td><span class="new_code">retry()</span></td><td>R茅p猫te la derni猫re requ锚te</td></tr> <tr><td><span class="new_code">back()</span></td><td>Utilise le bouton "pr茅c茅dent" du navigateur</td></tr> <tr><td><span class="new_code">forward()</span></td><td>Utilise le bouton "suivant" du navigateur</td></tr> <tr><td><span class="new_code">authenticate($username, $password)</span></td><td>Retente la page ou la fen锚tre apr猫s une r茅ponse 401</td></tr> <tr><td><span class="new_code">restart($date)</span></td><td>Relance le navigateur pour une nouvelle session</td></tr> <tr><td><span class="new_code">ageCookies($interval)</span></td><td>Change la date des cookies</td></tr> <tr><td><span class="new_code">setCookie($name, $value)</span></td><td>Lance un nouveau cookie</td></tr> <tr><td><span class="new_code">getCookieValue($host, $path, $name)</span></td><td>Lit le cookie le plus sp茅cifique</td></tr> <tr><td><span class="new_code">getCurrentCookieValue($name)</span></td><td>Lit le contenue du cookie en cours</td></tr> </tbody></table> Les m茅thode <span class="new_code">SimpleBrowser::useProxy()</span> et <span class="new_code">SimpleBrowser::addHeader()</span> sont sp茅ciales. Une fois appel茅es, elles continuent 脿 s'appliquer sur les t茅l茅chargements suivants. </p> <p> Naviguer dans les formulaires est similaire 脿 la <a href="form_testing_documentation.html">navigation des formulaires via WebTestCase</a>... <table><tbody> <tr><td><span class="new_code">setField($name, $value)</span></td><td>Modifie tous les champs avec ce nom</td></tr> <tr><td><span class="new_code">setFieldById($id, $value)</span></td><td>Modifie tous les champs avec cet identifiant</td></tr> <tr><td><span class="new_code">getField($name)</span></td><td>Accesseur de la valeur d'un 茅l茅ment de formulaire</td></tr> <tr><td><span class="new_code">getFieldById($id)</span></td><td>Accesseur de la valeur de l'茅l茅ment de formulaire avec cet identifiant</td></tr> <tr><td><span class="new_code">clickSubmit($label)</span></td><td>Transmet le formulaire avec l'茅tiquette de son bouton</td></tr> <tr><td><span class="new_code">clickSubmitByName($name)</span></td><td>Transmet le formulaire avec l'attribut de son bouton</td></tr> <tr><td><span class="new_code">clickSubmitById($id)</span></td><td>Transmet le formulaire avec l'identifiant de son bouton</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>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -