J'ai trouvé le cadre Protractor qui est conçu pour les applications Web AngularJS.
Comment puis-je utiliser Protractor sur un site Web qui n'utilise pas AngularJS?
J'ai écrit mon premier test et Protractor déclenche ce message: Error: Angular could not be found on the page https://www.stratexapp.com/ : retries looking for angular exceeded
Si votre test doit interagir avec une page non angulaire, accédez directement à l'instance webdriver avec browser.driver
.
Exemple des documents de Protractor
browser.driver.get('http://localhost:8000/login.html'); browser.driver.findElement(by.id('username')).sendKeys('Jane'); browser.driver.findElement(by.id('password')).sendKeys('1234'); browser.driver.findElement(by.id('clickme')).click();
Une autre approche consiste à définir browser.ignoreSynchronization = true
avant browser.get (…). Protractor n'attendrait pas le chargement angulaire et vous pouvez utiliser la syntaxe d'élément habituel (…).
browser.ignoreSynchronization = true; browser.get('http://localhost:8000/login.html'); element(by.id('username')).sendKeys('Jane'); element(by.id('password')).sendKeys('1234'); element(by.id('clickme')).click();
Au lieu de Protractor, vous pouvez utiliser pour e2e tester Testcafe .
Avantages:
Pour tester sur un site non angulaire, vous devez supprimer la synchronisation. Pour cela, utilisez ce qui suit:
browser.ignoreSynchronisation = true; browser.get('url');