Skip to content

Modify: [EN]->[FR] Translating guidelines and recommendations #258

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Feb 25, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,30 +5,24 @@ chapter: true
weight: 7
---

{{% notice info %}}
<i class="fas fa-language"></i> Page being translated from
English to French. Do you speak French? Help us to translate
it by sending us pull requests!
{{% /notice %}}
# Lignes directrices et recommandations

# Guidelines and recommendations
Une note sur les "meilleures pratiques": nous avons intentionnellement évité l'expression "meilleures
Pratiques "dans cette documentation. Aucune approche ne fonctionne pour toutes les situations.
Nous préférons l'idée de "Lignes directrices et recommandations". Nous encourageons
vous devez les lire et décider de manière réfléchie quelles approches
travaillera pour vous dans votre environnement particulier.

A note on "Best Practices": We've intentionally avoided the phrase "Best
Practices" in this documentation. No one approach works for all situations.
We prefer the idea of "Guidelines and Recommendations". We encourage
you to read through these and thoughtfully decide what approaches
will work for you in your particular environment.
Les tests fonctionnels sont difficiles à obtenir correctement pour de nombreuses raisons.
Comme si l'état, la complexité et les dépendances des applications ne rendent pas les tests assez difficiles,
gérer les navigateurs (en particulier les incompatibilités entre navigateurs)
fait de la rédaction de bons tests un défi.

Functional testing is difficult to get right for many reasons.
As if application state, complexity, and dependencies do not make testing difficult enough,
dealing with browsers (especially with cross-browser incompatibilities)
makes writing good tests a challenge.
Selenium fournit des outils pour faciliter l'interaction fonctionnelle des utilisateurs,
mais ne vous aide pas à écrire des suites de tests bien conçues.
Dans ce chapitre, nous proposons des conseils, des directives et des recommandations.
sur la façon d'aborder l'automatisation fonctionnelle des pages Web.

Selenium provides tools to make functional user interaction easier,
but does not help you write well-architected test suites.
In this chapter we offer advice, guidelines, and recommendations.
on how to approach functional web page automation.

This chapter records software design patterns popular
amongst many of the users of Selenium
that have proven successful over the years.
Ce chapitre enregistre les modèles de conception de logiciels populaires
parmi de nombreux utilisateurs de sélénium
qui ont fait leurs preuves au fil des ans.
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,15 @@ title: "Eviter de partager l'état"
weight: 6
---

{{% notice info %}}
<i class="fas fa-language"></i> Page being translated from
English to French. Do you speak French? Help us to translate
it by sending us pull requests!
{{% /notice %}}
Bien que mentionné à plusieurs endroits, il convient de le mentionner à nouveau. Assurer
les tests sont isolés les uns des autres.

Although mentioned in several places it is worth mentioning again. Ensure
tests are isolated from one another.
* Ne partagez pas les données de test. Imaginez plusieurs tests qui interrogent chacun la base de données
pour les commandes valides avant d'en choisir une pour effectuer une action. Devrait deux tests
prenez la même commande que vous risquez d'obtenir un comportement inattendu.

* Do not share test data. Imagine several tests that each query the database
for valid orders before picking one to perform an action on. Should two tests
pick up the same order you are likely to get unexpected behaviour.
* Nettoyez les données périmées dans l'application qui pourraient être récupérées par un autre
test par ex. enregistrements de commande invalides.

* Clean up stale data in the application that might be picked up by another
test e.g. invalid order records.

* Create a new WebDriver instance per test. This helps ensure test isolation
and makes parallelisation simpler.
* Créez une nouvelle instance WebDriver par test. Cela permet d'assurer l'isolement des tests
et rend la parallélisation plus simple.
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,20 @@ title: "Considerer l'utilisation d'une API fluent"
weight: 8
---

{{% notice info %}}
<i class="fas fa-language"></i> Page being translated from
English to French. Do you speak French? Help us to translate
it by sending us pull requests!
{{% /notice %}}

Martin Fowler coined the term ["Fluent API"](//www.martinfowler.com/bliki/FluentInterface.html). Selenium already
implements something like this in their `FluentWait` class, which is
meant as an alternative to the standard <code>Wait</code> class.
You could enable the Fluent API design pattern in your page object
and then query the Google search page with a code snippet like this one:
Martin Fowler a inventé le terme ["Fluent API"](// www.martinfowler.com/bliki/FluentInterface.html).
Sélénium déjà implémente quelque chose comme ça dans leur classe `FluentWait`, qui est
conçu comme une alternative à la classe standard <code>Wait</code>.
Vous pouvez activer le modèle de conception de l'API Fluent dans votre objet de page
puis interrogez la page de recherche Google avec un extrait de code comme celui-ci:

```java
driver.get( "http://www.google.com/webhp?hl=en&amp;tab=ww" );
GoogleSearchPage gsp = new GoogleSearchPage();
gsp.withFluent().setSearchString().clickSearchButton();
```

The Google page object class with this fluent behavior
might look like this:
La classe d'objets de page Google avec ce comportement fluide
pourrait ressembler à ceci:

```java
public class GoogleSearchPage extends LoadableComponent<GoogleSearchPage> {
Expand Down Expand Up @@ -80,4 +74,4 @@ public class GoogleSearchPage extends LoadableComponent<GoogleSearchPage> {
}
}
}
```
```