Я новичок в Mocha и Selenium для тестирования приложения Express. У меня есть следующий простой код, но я не могу понять, что не так.
describe("authenticateWithGoogle", function() {
it("return a valid access token for our tests", function() {
return new Promise( function(resolve) {
var driver = new Builder().forBrowser('chrome').build();
driver.get('https://www.google.com');
driver.wait("Google",5000).then( (quitDriver,handleFailure) => {
console.info("wait over");
assert.ok(true);
});
resolve();
}).then();
});
});
При запуске «мокко» я получаю следующую ошибку:
TypeError: Wait condition must be a promise-like object, function, or a Condition object
Это происходит в строке "driver.wait" в приведенном выше коде. Я действительно не понимаю, что означают ошибки.
селен-webdriver npm 4.0.0-alpha.1
Может быть, связанный с этим вопрос ... есть ли более простой способ проверить OAuth?





Я попробовал тот же selenium-webdriver 4.0.0 alpha.1, и он сработал.
Судя по его примеру, он использует async await, поэтому я использую то же самое.
const {Builder, By, Key, until} = require('selenium-webdriver');
const chai = require('chai');
const assert = chai.assert;
describe("authenticateWithGoogle", function() {
it("return a valid access token for our tests", async function() {
this.timeout(5000);
let driver = await new Builder()
.usingServer('http://localhost:4444/wd/hub')
.forBrowser('chrome').build();
try {
await driver.get('http://www.google.com');
await driver.wait(until.titleIs('Google'), 1000);
} finally {
assert.ok(true);
await driver.quit();
}
});
});
Моя настройка:
Да, для тестирования oauth вы можете создать для него интеграционный / e2e тест. Вы уже на правильном пути.
Надеюсь, поможет
какую библиотеку селена вы используете?