d'abord toutes les versions que je utilise:échoue toujours Protractor premier test
chromedriver protractor V5.1.2 v2.33 noeud v6.11.4 NPM 3.10.10 sélénium WebDriver v3.0.1
Je suis novice en matière de protractor et j'essaie seulement de l'exécuter sur le test qui est déjà donné nativement par le rapporteur. Il ressemble à ceci
describe('angularjs homepage', function() {
it('should greet the named user', function() {
browser.get('http://www.angularjs.org');
element(by.model('yourName')).sendKeys('Julie');
var greeting = element(by.binding('yourName'));
expect(greeting.getText()).toEqual('Hello Julie!');
});
describe('todo list', function() {
var todoList;
beforeEach(function() {
browser.get('http://www.angularjs.org');
todoList = element.all(by.repeater('todo in todoList.todos'));
});
it('should list todos', function() {
expect(todoList.count()).toEqual(2);
expect(todoList.get(1).getText()).toEqual('build an AngularJS app');
});
it('should add a todo', function() {
var addTodo = element(by.model('todoList.todoText'));
var addButton = element(by.css('[value="add"]'));
addTodo.sendKeys('write a protractor test');
addButton.click();
expect(todoList.count()).toEqual(3);
expect(todoList.get(2).getText()).toEqual('write a protractor test');
});
});
});
C'est ici les conf.js
exports.config = {
directConnect: true,
// Capabilities to be passed to the webdriver instance.
capabilities: {
'browserName': 'chrome'
},
// Framework to use. Jasmine is recommended.
framework: 'jasmine',
// Spec patterns are relative to the current working directory when
// protractor is called.
specs: ['example_spec.js'],
// Options to be passed to Jasmine.
jasmineNodeOpts: {
defaultTimeoutInterval: 30000
}
};
Lorsque je tente de lancer cela, il me donne l'erreur suivante:
Failures:
1) angularjs homepage should greet the named user
Message:
Failed: Timed out waiting for asynchronous Angular tasks to finish after 11 seconds. This may be because the current page is not an Angular application. Please see the FAQ for more details: https://github.com/angular/protractor/blob/master/docs/timeouts.md#waiting-for-angular
While waiting for element with locator - Locator: by.model("yourName")
Stack:
ScriptTimeoutError: asynchronous script timeout: result was not received in 11 seconds
(Session info: chrome=60.0.3112.113)
(Driver info: chromedriver=2.33.506092 (733a02544d189eeb751fe0d7ddca79a0ee28cce4),platform=Linux 3.16.0-4-amd64 x86_64)
at WebDriverError (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:5)
at ScriptTimeoutError (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:203:5)
at Object.checkLegacyResponse (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:505:15)
at parseHttpResponse (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:509:13)
at doSend.then.response (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/http.js:440:13)
at process._tickCallback (internal/process/next_tick.js:109:7)
From: Task: Protractor.waitForAngular() - Locator: by.model("yourName")
at Driver.schedule (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:816:17)
at ProtractorBrowser.executeAsyncScript_ (/usr/lib/node_modules/protractor/lib/browser.ts:609:24)
at angularAppRoot.then (/usr/lib/node_modules/protractor/lib/browser.ts:643:23)
at ManagedPromise.invokeCallback_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1366:14)
at TaskQueue.execute_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2970:14)
at TaskQueue.executeNext_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2953:27)
at asyncRun (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2813:27)
at /usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:676:7
at process._tickCallback (internal/process/next_tick.js:109:7)Error
at ElementArrayFinder.applyAction_ (/usr/lib/node_modules/protractor/lib/element.ts:482:23)
at ElementArrayFinder.(anonymous function) [as sendKeys] (/usr/lib/node_modules/protractor/lib/element.ts:96:21)
at ElementFinder.(anonymous function) [as sendKeys] (/usr/lib/node_modules/protractor/lib/element.ts:873:14)
at UserContext.<anonymous> (/home/kunstmann/Downloads/node-v6.11.4-linux-x64/lib/node_modules/npm/node_modules/protractor/example/example_spec.js:5:35)
at /usr/lib/node_modules/protractor/node_modules/jasminewd2/index.js:112:25
at new ManagedPromise (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1067:7)
at ControlFlow.promise (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2396:12)
at schedulerExecute (/usr/lib/node_modules/protractor/node_modules/jasminewd2/index.js:95:18)
at TaskQueue.execute_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2970:14)
at TaskQueue.executeNext_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2953:27)
From: Task: Run it("should greet the named user") in control flow
at UserContext.<anonymous> (/usr/lib/node_modules/protractor/node_modules/jasminewd2/index.js:94:19)
From asynchronous test:
Error
at Suite.<anonymous> (/home/kunstmann/Downloads/node-v6.11.4-linux-x64/lib/node_modules/npm/node_modules/protractor/example/example_spec.js:2:3)
at Object.<anonymous> (/home/kunstmann/Downloads/node-v6.11.4-linux-x64/lib/node_modules/npm/node_modules/protractor/example/example_spec.js:1:63)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
3 specs, 1 failure
Finished in 17.5 seconds
[11:34:30] I/launcher - 0 instance(s) of WebDriver still running
[11:34:30] I/launcher - chrome #01 failed 1 test(s)
[11:34:30] I/launcher - overall: 1 failed spec(s)
[11:34:30] E/launcher - Process exited with error code 1
Comme je l'ai dit , Je n'ai rien écrit de tout ça. Le code a été fourni par rapporteur lui-même dans un dossier appelé exemple. Maintenant, cependant, j'ai essayé de changer les cas de test, parce que je ne comprenais pas pourquoi le premier échouerait. Cela me semblait parfaitement juste. Et maintenant, voici ce qui est étrange. Quand je place un cas de test différent sur le dessus, le nouveau - qui est maintenant au sommet - échouera, mais celui qui était au sommet avant n'aura plus de problèmes. Je peux le faire avec chaque cas de test, le premier cas échouera toujours, mais dès que je l'éloigne du sommet, il fonctionne soudainement.
J'ai déjà essayé de suivre le lien dans le message d'erreur, mais cela n'a rien fait pour moi. J'ai aussi tout mis à jour une centaine de fois, mais rien n'a changé.
Est-ce que anyboby sait ce que c'est? C'est vraiment étrange ...
Le navigateur s'ouvrait avec la page 'http://www.angularjs.org'. –
Oui, la page angulaire s'ouvre et je peux voir tous les tests en cours sauf le premier. –