forked from annv/MinigameTest
minigame
This commit is contained in:
92
automation.js
Normal file
92
automation.js
Normal file
@@ -0,0 +1,92 @@
|
||||
const { By, until } = require("selenium-webdriver");
|
||||
let { driver } = require("./app");
|
||||
const { checkListForm } = require("./check_work");
|
||||
|
||||
const checkAuto = [
|
||||
{
|
||||
name: 'buttonStartPopup',
|
||||
id: 'js-play-btn-popup',
|
||||
action: 'click',
|
||||
},
|
||||
{
|
||||
name: 'inputFormEmail',
|
||||
id: 'js-user-email',
|
||||
action: 'sendKeys',
|
||||
value: 'abs424240@mail.com',
|
||||
key: 'email',
|
||||
},
|
||||
// {
|
||||
// name: 'inputFormName',
|
||||
// id: 'js-user-name',
|
||||
// action: 'sendKeys',
|
||||
// value: 'webdrive',
|
||||
// key: 'name',
|
||||
// },
|
||||
{
|
||||
name: 'inputFormMobile',
|
||||
id: 'js-user-mobile',
|
||||
action: 'sendKeys',
|
||||
value: '0832256936',
|
||||
key: 'tel',
|
||||
},
|
||||
{
|
||||
name: 'spinBtn',
|
||||
id: 'js-spin-btn',
|
||||
action: 'click',
|
||||
},
|
||||
{
|
||||
name: 'playAgainAndChoseReward',
|
||||
action: 'function',
|
||||
value: playAgainAndChoseReward,
|
||||
},
|
||||
]
|
||||
|
||||
// Kiểm tra element có tồn tại không
|
||||
async function checkEleExitedByID(id) {
|
||||
try {
|
||||
}
|
||||
finally {
|
||||
return Object.keys(await driver.findElements(By.id(id))).length
|
||||
}
|
||||
}
|
||||
|
||||
// Kiểm tra chọn giải thưởng
|
||||
async function checkChoseReward() {
|
||||
try {
|
||||
}
|
||||
finally {
|
||||
const choseRewards = await driver.findElements(By.className("js-chose-reward-btn"));
|
||||
for (let item of choseRewards) {
|
||||
switch (Object.keys(await item.getText()).length > 0) {
|
||||
case true:
|
||||
await item.click();
|
||||
await driver.switchTo().alert().accept();
|
||||
await driver.executeScript(checkListForm, 'form-chon-giai-thuong', true)
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Kiểm tra chơi lại, lượt chơi tối đa và chọn giải thưởng
|
||||
async function playAgainAndChoseReward() {
|
||||
let playerTurns = 1;
|
||||
const repeatResetBtn = setInterval(async () => {
|
||||
if (await checkEleExitedByID('js-reset-btn') > 0) {
|
||||
let resetBtn = driver.wait(until.elementLocated(By.id("js-reset-btn")), 10000);
|
||||
resetBtn.click();
|
||||
playerTurns = playerTurns + 1;
|
||||
} else {
|
||||
clearInterval(repeatResetBtn);
|
||||
await driver.executeScript(checkListForm, 'form-luot-choi-toi-da', playerTurns)
|
||||
await checkChoseReward();
|
||||
}
|
||||
}, 15000)
|
||||
}
|
||||
|
||||
const automation = {
|
||||
checkAuto
|
||||
}
|
||||
module.exports = automation;
|
||||
Reference in New Issue
Block a user