{"id":2902,"date":"2023-11-24T15:05:36","date_gmt":"2023-11-24T14:05:36","guid":{"rendered":"https:\/\/ittester.sk\/non-classifiee\/attente-implicite-et-explicite-dans-selenium\/"},"modified":"2024-10-22T14:15:14","modified_gmt":"2024-10-22T12:15:14","slug":"attente-implicite-et-explicite-dans-selenium","status":"publish","type":"post","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/attente-implicite-et-explicite-dans-selenium\/","title":{"rendered":"Attente implicite et explicite dans Selenium"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Table des mati\u00e8res<\/h2>\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-preco-sa-v-selenium-vyzaduje-cakanie-waits\">Pre\u010do sa v Selenium vy\u017eaduje \u010dakanie (waits)?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-implicitne-cakanie\">Implicitn\u00e9 \u010dakanie<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-explicitne-cakanie\">Explicitn\u00e9 \u010dakanie<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-preco-sa-v-selenium-vyzaduje-cakanie-waits\">Pourquoi les attentes sont-elles n\u00e9cessaires dans Selenium ?<\/h2>\n\n<p>Dans l&rsquo;automatisation de l&rsquo;interface utilisateur, les attentes sont n\u00e9cessaires parce que certains \u00e9l\u00e9ments sont charg\u00e9s de mani\u00e8re asynchrone sur la page, de sorte qu&rsquo;apr\u00e8s le d\u00e9clenchement d&rsquo;un \u00e9v\u00e9nement, la page peut \u00eatre charg\u00e9e avec succ\u00e8s, mais certains \u00e9l\u00e9ments peuvent encore \u00eatre d\u00e9charg\u00e9s.<\/p>\n\n<p>Cela provoque une exception \u00ab\u00a0elementNotFound\u00a0\u00bb lors de la recherche d&rsquo;un \u00e9l\u00e9ment. Dans ce cas, nous devons utiliser Thread.sleep(), t. j. L&rsquo;attente statique, qui interrompt l&rsquo;ex\u00e9cution du test pendant une dur\u00e9e d\u00e9termin\u00e9e, puis ex\u00e9cute l&rsquo;\u00e9tape suivante.<\/p>\n\n<p>Puisque Thread.sleep() attendra le temps sp\u00e9cifi\u00e9, que les \u00e9l\u00e9ments soient affich\u00e9s ou non avant ce d\u00e9lai. Par cons\u00e9quent, l&rsquo;utilisation de Thread.sleep() n&rsquo;est jamais recommand\u00e9e lors de l&rsquo;automatisation de l&rsquo;interface utilisateur.<\/p>\n\n<p>Pour \u00e9viter cela, Selenium propose diff\u00e9rents types d&rsquo;attente, parmi lesquels les attentes implicites et explicites sont les plus couramment utilis\u00e9es.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-implicitne-cakanie\">Attente implicite<\/h2>\n\n<p>L&rsquo;attente par d\u00e9faut est d\u00e9finie pour l&rsquo;instance WebDriver lorsqu&rsquo;elle est utilis\u00e9e et s&rsquo;applique \u00e0 tous les \u00e9l\u00e9ments web. Avec l&rsquo;attente implicite, le pilote Web interroge le DOM pour v\u00e9rifier la disponibilit\u00e9 de l&rsquo;\u00e9l\u00e9ment Web et attend la dur\u00e9e maximale sp\u00e9cifi\u00e9e avant de lever une exception NoSuchElementException.<\/p>\n\n<p class=\"has-cyan-bluish-gray-background-color has-background\"><strong>WebDriver driver = new FirefoxDriver() ;<\/strong><\/p>\n\n<p class=\"has-cyan-bluish-gray-background-color has-background\"><strong>driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS) ;<\/strong><\/p>\n\n<p>Dans l&rsquo;extrait de code ci-dessus, la valeur 20 sp\u00e9cifi\u00e9e dans la m\u00e9thode d&rsquo;attente implicite est le temps maximum en secondes que le WebDriver attendra avant de lancer une exception NoSuchElementException lors de la recherche d&rsquo;un WebElement.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-explicitne-cakanie\">Attente explicite<\/h2>\n\n<p>Contrairement \u00e0 l&rsquo;attente implicite, l&rsquo;attente explicite s&rsquo;applique \u00e0 chaque \u00e9l\u00e9ment web. L&rsquo;attente explicite d\u00e9finit certaines conditions dans lesquelles une instance de WebDriver attend avant de r\u00e9cup\u00e9rer des \u00e9l\u00e9ments Web ou d&rsquo;effectuer des actions sur ceux-ci. Parmi les conditions les plus courantes sp\u00e9cifi\u00e9es dans l&rsquo;attente explicite, citons : elementToBeClickable, presenceOfElementLocated, etc.<\/p>\n\n<p class=\"has-cyan-bluish-gray-background-color has-background\"><strong>WebDriverWait wait = new WebDriverWait(driver, 15) ;<\/strong><\/p>\n\n<p class=\"has-cyan-bluish-gray-background-color has-background\"><strong>wait.until(ExpectedConditions.presenceOfElementLocated(ElementLocator)) ;<\/strong><\/p>\n\n<p>Ici, l&rsquo;instance WebDriver attendra jusqu&rsquo;\u00e0 ce que la condition sp\u00e9cifi\u00e9e soit remplie, c&rsquo;est-\u00e0-dire j. la pr\u00e9sence d&rsquo;un \u00e9l\u00e9ment localis\u00e9 par ElementLocator avec un temps d&rsquo;attente maximum de 15 secondes, apr\u00e8s quoi, si la condition n&rsquo;est toujours pas remplie, il l\u00e8ve une exception.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans l&rsquo;automatisation de l&rsquo;interface utilisateur, les attentes (implicites, explicites) sont n\u00e9cessaires car certains \u00e9l\u00e9ments sont charg\u00e9s de mani\u00e8re asynchrone sur le web.<\/p>\n","protected":false},"author":8,"featured_media":2903,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[53],"tags":[],"class_list":["post-2902","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutoriel-selenium"],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO Pro 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Dans l&#039;automatisation de l&#039;interface utilisateur, les attentes (implicites, explicites) sont n\u00e9cessaires car certains \u00e9l\u00e9ments sont charg\u00e9s de mani\u00e8re asynchrone sur le web.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Zoltan\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/attente-implicite-et-explicite-dans-selenium\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO Pro (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"IT tester - Z\u00e1kladn\u00e9 inform\u00e1cie o testovan\u00ed softv\u00e9ru\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Attente implicite et explicite dans Selenium - IT tester\" \/>\n\t\t<meta property=\"og:description\" content=\"Dans l&#039;automatisation de l&#039;interface utilisateur, les attentes (implicites, explicites) sont n\u00e9cessaires car certains \u00e9l\u00e9ments sont charg\u00e9s de mani\u00e8re asynchrone sur le web.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/attente-implicite-et-explicite-dans-selenium\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-11-24T14:05:36+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-10-22T12:15:14+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Attente implicite et explicite dans Selenium - IT tester\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Dans l&#039;automatisation de l&#039;interface utilisateur, les attentes (implicites, explicites) sont n\u00e9cessaires car certains \u00e9l\u00e9ments sont charg\u00e9s de mani\u00e8re asynchrone sur le web.\" \/>\n\t\t<script type=\"text\/javascript\">\n\t\t\t(function(c,l,a,r,i,t,y){\n\t\t\tc[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;\n\t\t\tt.src=\"https:\/\/www.clarity.ms\/tag\/\"+i+\"?ref=aioseo\";y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n\t\t})(window, document, \"clarity\", \"script\", \"nizijct9c2\");\n\t\t<\/script>\n\t\t<!-- All in One SEO Pro -->\r\n\t\t<title>Attente implicite et explicite dans Selenium - IT tester<\/title>\n\n","aioseo_head_json":{"title":"Attente implicite et explicite dans Selenium - IT tester","description":"Dans l'automatisation de l'interface utilisateur, les attentes (implicites, explicites) sont n\u00e9cessaires car certains \u00e9l\u00e9ments sont charg\u00e9s de mani\u00e8re asynchrone sur le web.","canonical_url":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/attente-implicite-et-explicite-dans-selenium\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"IT tester - Z\u00e1kladn\u00e9 inform\u00e1cie o testovan\u00ed softv\u00e9ru","og:type":"article","og:title":"Attente implicite et explicite dans Selenium - IT tester","og:description":"Dans l'automatisation de l'interface utilisateur, les attentes (implicites, explicites) sont n\u00e9cessaires car certains \u00e9l\u00e9ments sont charg\u00e9s de mani\u00e8re asynchrone sur le web.","og:url":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/attente-implicite-et-explicite-dans-selenium\/","article:published_time":"2023-11-24T14:05:36+00:00","article:modified_time":"2024-10-22T12:15:14+00:00","twitter:card":"summary_large_image","twitter:title":"Attente implicite et explicite dans Selenium - IT tester","twitter:description":"Dans l'automatisation de l'interface utilisateur, les attentes (implicites, explicites) sont n\u00e9cessaires car certains \u00e9l\u00e9ments sont charg\u00e9s de mani\u00e8re asynchrone sur le web."},"aioseo_meta_data":{"post_id":"2902","title":null,"description":"Dans l'automatisation de l'interface utilisateur, les attentes (implicites, explicites) sont n\u00e9cessaires car certains \u00e9l\u00e9ments sont charg\u00e9s de mani\u00e8re asynchrone sur le web.","keywords":null,"keyphrases":{"focus":{"keyphrase":"\u010dakanie","score":80,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":3,"maxScore":9,"error":1},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":1},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInSubHeadings":{"score":9,"maxScore":9,"error":0},"keyphraseInImageAlt":[],"keywordDensity":{"type":"best","score":9,"maxScore":9,"error":0}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"none","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"seo_analyzer_scan_date":"2026-05-18 07:53:55","breadcrumb_settings":null,"limit_modified_date":false,"open_ai":"{\"title\":{\"suggestions\":[],\"usage\":0},\"description\":{\"suggestions\":[],\"usage\":0}}","ai":null,"created":"2024-10-22 12:15:11","updated":"2026-05-18 07:53:55"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ittester.sk\/fr\/\" title=\"Home\">Home<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ittester.sk\/fr\/tests-automatises\/\" title=\"Tests automatis\u00e9s\">Tests automatis\u00e9s<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t<a href=\"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/\" title=\"Tutoriel Selenium\">Tutoriel Selenium<\/a>\n<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\tAttente implicite et explicite dans Selenium\n<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/ittester.sk\/fr\/"},{"label":"Tests automatis\u00e9s","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/"},{"label":"Tutoriel Selenium","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/"},{"label":"Attente implicite et explicite dans Selenium","link":"https:\/\/ittester.sk\/fr\/tests-automatises\/tutoriel-selenium\/attente-implicite-et-explicite-dans-selenium\/"}],"_links":{"self":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2902","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/comments?post=2902"}],"version-history":[{"count":1,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2902\/revisions"}],"predecessor-version":[{"id":2905,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/posts\/2902\/revisions\/2905"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media\/2903"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/media?parent=2902"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/categories?post=2902"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/fr\/wp-json\/wp\/v2\/tags?post=2902"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}