content/hifi-content/robin/robinStuff/computerForSeattle/automations/manual.js
2022-02-14 02:04:11 +01:00

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"