token-wizard-test-automation/pages/WizardStep2.js

160 lines
3.5 KiB
JavaScript

const Logger= require('../entity/Logger.js');
const logger=Logger.logger;
const tempOutputPath=Logger.tempOutputPath;
const page=require('./Page.js');
const webdriver = require('selenium-webdriver'),
chrome = require('selenium-webdriver/chrome'),
firefox = require('selenium-webdriver/firefox'),
by = require('selenium-webdriver/lib/by');
const By=by.By;
const buttonContinue=By.xpath("//*[contains(text(),'Continue')]");
const fieldName=By.id("name");
const fieldTicker=By.id("ticker");;
const fieldDecimals=By.id("decimals");;
class WizardStep2 extends page.Page {
constructor(driver) {
super(driver);
this.URL;
this.name="WizardStep2 page: ";
this.warningName;
this.warningTicker;
this.warningDecimals;
this.warningAddress;
this.warningValue;
this.title="TOKEN SETUP";
}
async initWarnings(){
try {
logger.info(this.name + " :init warnings:");
const locator = By.className("error");
var arr = await super.findWithWait(locator);
this.warningName = arr[0];
this.warningTicker = arr[1];
this.warningDecimals = arr[2];
return arr;
}
catch(err){
logger.info(this.name+": dont contain warning elements");
return null;
}
}
async isPresentFieldName(){
logger.info(this.name+"is present field name: ");
var locator = By.className("input");
var arr=await this.driver.findElements(locator);
if (arr.length>0)return true;
else return false;
}
async fillName(name){
try{
logger.info(this.name+"field Name: ");
await super.clearField(fieldName);
await super.fillWithWait(fieldName,name);
// return true;
}
catch (err) {
logger.info(err);
return false;
}
}
async fillTicker(name){
try {
logger.info(this.name + "field Ticker: ");
await super.clearField(fieldTicker);
await super.fillWithWait(fieldTicker, name);
return true;
}
catch (err)
{logger.info(err);
return false;}
}
async fillDecimals(name) {
try{
logger.info(this.name + "field Decimals: ");
await super.clearField(fieldDecimals);
await super.fillWithWait(fieldDecimals, name);
return true;
}
catch (err)
{logger.info(err);
return false;}
}
async clickButtonContinue(){
logger.info(this.name+"button Continue: ");
await super.clickWithWait(buttonContinue);
}
async isPresentButtonContinue(){
var b=await super.isElementPresent(buttonContinue);
logger.info(this.name+": is present button Continue: "+b);
return b;
}
async isPresentWarningName(){
return false;
await this.initWarnings();
let s=await super.getTextByElement(this.warningName);
if (s!="") return true;
else return false;
}
async isPresentWarningTicker(){
return false;
await this.initWarnings();
let s=await super.getTextByElement(this.warningTicker);
if (s!="") return true;
else return false;
}
async isPresentWarningDecimals(){
return false;
await this.initWarnings();
let s=await super.getTextByElement(this.warningDecimals);
if (s!="") return true;
else return false;
}
async getFieldDecimals(){
logger.info(this.name+"getFieldDecimals: ");
try {
let s = super.getAttribute(fieldDecimals, "value");
return s;
}
catch (err)
{
logger.info(err);
return "";
}
}
async isDisabledDecimals(){
return await super.isElementDisabled(fieldDecimals);
}
}
module.exports.WizardStep2=WizardStep2;