236 lines
No EOL
6.7 KiB
JavaScript
236 lines
No EOL
6.7 KiB
JavaScript
const { Builder, By, Key, until, WebDriverWait } = require('selenium-webdriver');
|
|
const chrome = require('selenium-webdriver/chrome');
|
|
const firefox = require('selenium-webdriver/firefox');
|
|
|
|
var invalid = [];
|
|
var tests = ["Firebird25", "alskdjfaklsdfkla", "Firebirdd25"];
|
|
var tests2 = [
|
|
'123.Basinsky.321',
|
|
'Neo.Cortex',
|
|
'jade serenity',
|
|
'Phebus',
|
|
'Evilotaku',
|
|
'humbletim',
|
|
'CheekyLoon',
|
|
'Jade_Serenity',
|
|
'jade393@gmail.com',
|
|
'GoFaster',
|
|
'bitcoinipie',
|
|
'artiffact',
|
|
'Delta',
|
|
'bsberger',
|
|
'Magg13113',
|
|
'Kev',
|
|
'Pancrazio77',
|
|
'Melacar',
|
|
'Fay',
|
|
'lunaragatekeeper',
|
|
'Hal9000',
|
|
'Miss',
|
|
'Jamesuk',
|
|
'DarnHyena',
|
|
'daemoNZ',
|
|
'Haptic Monkey',
|
|
'rforty',
|
|
'miku',
|
|
'Jasmina.Weezles',
|
|
'Marisol Delvalle',
|
|
'emelliti@gmail.com',
|
|
'Bellpheobe Ivanovic',
|
|
'roger248',
|
|
'ines248',
|
|
'Tangrenc',
|
|
'kbrad44_isamar',
|
|
'cadastro',
|
|
'Chav',
|
|
'GnarlyDeadFish',
|
|
'Calic0Jack',
|
|
'1029chris',
|
|
'Adeliacampos',
|
|
'Wormhog',
|
|
'nasarogue',
|
|
'Parrel',
|
|
'TathiLuar',
|
|
'ben_',
|
|
'Kiwi',
|
|
'GrapheneOrca',
|
|
'gracejee',
|
|
'Sass',
|
|
'Mikecsalmon',
|
|
'rosanna.ewing',
|
|
'Rosie.Jane',
|
|
'Akshara',
|
|
'RavenWorks'
|
|
];
|
|
|
|
var username = "robin@highfidelity.io";
|
|
var pswd = "Stronghold0";
|
|
|
|
var INVALID_ERROR_TEXT = "cannot be found, user does not exist";
|
|
|
|
var driver = new Builder()
|
|
.forBrowser('firefox')
|
|
.build(); // (webdriver.Capabilities.firefox()).build();
|
|
|
|
|
|
(async function go() {
|
|
try {
|
|
|
|
await driver.get('https://highfidelity.com/user/groups/Face2Face');
|
|
|
|
var loginUNPromise = driver.findElement(By.id('user_login'))
|
|
// login_un.sendKeys(username);
|
|
var loginPWPromise = driver.findElement(By.id('user_password'));
|
|
// login_pw.sendKeys(pswd);
|
|
|
|
// var enter = driver.findElement(By.name('commit'));
|
|
// enter.click();
|
|
|
|
Promise.all([loginUNPromise, loginPWPromise])
|
|
.then(([login_un, login_pw]) => {
|
|
login_un.sendKeys(username);
|
|
login_pw.sendKeys(pswd);
|
|
return driver.findElement(By.name('commit'));
|
|
})
|
|
.then(enterButton => {
|
|
return enterButton.click();
|
|
})
|
|
.then(() => {
|
|
return driver.findElement(By.className("panel panel-default members")); // By.id('new_group_membership'));
|
|
})
|
|
.then(elem => {
|
|
console.log(elem);
|
|
var submitForm = elem.findElement(By.name('commit'));
|
|
var enterUsernamesForm = elem.findElement(By.id('group_membership_user'));
|
|
return Promise.all([enterUsernamesForm, submitForm]);
|
|
})
|
|
.then(async function ([enterUN, submitButton]) {
|
|
for (var i = 0; i < tests.length; i++) {
|
|
await enterName(tests[i], enterUN, submitButton);
|
|
}
|
|
})
|
|
.then(() => {
|
|
console.log("ROBIN AHHH", invalid);
|
|
})
|
|
.catch(err => console.error(err));
|
|
|
|
} catch (err) {
|
|
console.log(err);
|
|
console.log(invalid);
|
|
}
|
|
|
|
})();
|
|
|
|
|
|
// function go1([enterUN, submitButton]) {
|
|
|
|
// const start = async () => {
|
|
// await asyncForEach(tests, async (name) => {
|
|
// await enterName(name, enterUN, submitButton);
|
|
// })
|
|
// console.log('Done')
|
|
// }
|
|
|
|
// start();
|
|
// }
|
|
|
|
// async function asyncForEach(array, callback) {
|
|
// for (let index = 0; index < array.length; index++) {
|
|
// await callback(array[index], index, array)
|
|
// }
|
|
// }
|
|
|
|
function timeout(ms) {
|
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
}
|
|
|
|
async function sleep(fn, ...args) {
|
|
await timeout(3000);
|
|
return fn(...args);
|
|
}
|
|
|
|
async function enterName(name, enterUN, submitButton) {
|
|
|
|
await enterUN.sendKeys(name)
|
|
.then(async () => {
|
|
await driver.sleep(1000);
|
|
return null;
|
|
})
|
|
.then(() => {
|
|
return submitButton.click();
|
|
})
|
|
.then(async () => {
|
|
await driver.sleep(2000);
|
|
return null;
|
|
})
|
|
.then(async () => {
|
|
return await driver.findElement(By.className("error alert alert-danger"))
|
|
.then(
|
|
(element) => {
|
|
// .then(text => {
|
|
// var errorText = text.toLowerCase();
|
|
// var invalidText = INVALID_ERROR_TEXT.toLowerCase();
|
|
// var usernameText = name.toLowerCase();
|
|
// console.log("ERROR BOX INFO", text, invalidText, usernameText);
|
|
// if (errorText.indexOf(invalidText) > -1 && errorText.indexOf(usernameText) === 0) {
|
|
// console.log("IM IN!!");
|
|
// invalid.push(name);
|
|
// }
|
|
// })
|
|
// .catch((err) => {
|
|
// if (err.name !== "NoSuchElementError") {
|
|
// console.err("ACTUAL ERROR", err);
|
|
// } else {
|
|
// // not needed!
|
|
// console.log("no error text");
|
|
// }
|
|
// })
|
|
},
|
|
(err) => {
|
|
console.log(name, err);
|
|
if (err.state && err.state === 'no such element') {
|
|
console.log(name);
|
|
}
|
|
}
|
|
)
|
|
// await errorBx;
|
|
// console.log(errorBx);
|
|
// if (errorBx) {
|
|
// console.log("I HAVE TEXT");
|
|
// await errorBx.getText()
|
|
|
|
// return errorBx
|
|
// .then((errorBox) => {
|
|
// // found error box
|
|
// console.log("ERROR BOX YOOO", errorBox);
|
|
// return errorBox.getText();
|
|
// })
|
|
|
|
})
|
|
};
|
|
|
|
function checkTitle() {
|
|
browser.getTitle()
|
|
.then(function (title) {
|
|
console.log(title);
|
|
})
|
|
.catch(function (err) {
|
|
console.log(err);
|
|
});
|
|
}
|
|
|
|
function handleFailure(err) {
|
|
console.error("Error is: ", err);
|
|
quitDriver();
|
|
}
|
|
|
|
function quitDriver() {
|
|
browser.quit();
|
|
}
|
|
|
|
|
|
|
|
// https://highfidelity.com/user/groups/Face2Face
|
|
// id = "group_membership_user"
|
|
// group_membership_rank
|
|
// submit // name=commit value "Add Member"
|