Sunday, June 21, 2020

Robo Fusion: Vara veena mrudu paani song on piano with selenium automation. Selenium Code

When you cannot cover it manually, AUTOMATE it !
Love carnatic music. Love automation.
Robo Fusion: Vara veena mrudu paani song on piano with selenium automation.
వరవీణా మృదుపాణీ, వనరుహలోచన రాణీ..
#piano #Selenium #automation #varaveena #carnaticmusic


Main script:

package playPiano;

import org.openqa.selenium.WebDriver;

public class playPianoDriver {
public static void main(String[] args) throws Exception {
//Array (Octave:0/1/2/3/4)(note)(timeunit)
String sng[]= {"1e","1e","1g2","1g2","1a","1g","2c2","2c2","2d","2c","1a","1a","1g2","1a","1g","1e","1e","1d2","1e","1g","1a","2c","1a2","1a","1g","1e","1e","1d2","1e","1e","1a","1g","1e2","1g","1e","1e","1d","1c2","1e","1e","1e","1e","1d","1e","1g","1e","1g2","1g2","1e","1e","1a","1g","1a2","1a","1g","2c2","2c2","1a","2e","2d","2d","2c","2c","1a","2c","1a","1a","1a","1g","1e","1g","1a","2c","1a","1g","1a","1g","1e","1e","1d","1c","1c","1e","1e2","1e2","1e","1d","1g","1e","1d2","1c","1d","1c","1e","1d","1c","1d","1d","1c2","1c2"};
WebDriver drv=playPianoFuncs.launchApplication(keyConstants.url);
 
playPianoFuncs.playPiano(drv, sng);
 
}

}





Function library:

package playPiano;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class playPianoFuncs {
//launch application
public static WebDriver launchApplication(String url)
{
WebDriver drv=null;
 
System.setProperty("webdriver.chrome.driver", keyConstants.chromeDriverPath);
 
// Initialize browser
drv=new ChromeDriver();
// Open url
drv.get(url);
drv.manage().timeouts().implicitlyWait(keyConstants.commonTimeOut,TimeUnit.SECONDS);
// Maximize browser
drv.manage().window().maximize();
drv.manage().timeouts().implicitlyWait(keyConstants.commonTimeOut, TimeUnit.SECONDS);
return drv;
}
//get key numbers
public static int getKeyNumbers(int octave,String Keyname)
{
int keyNum=0;
switch (Keyname) 
{
//White keys
case "c": keyNum=keyConstants.c[octave];break;
case "d": keyNum=keyConstants.d[octave];break;
case "e": keyNum=keyConstants.e[octave];break;
case "f": keyNum=keyConstants.f[octave];break;
case "g": keyNum=keyConstants.g[octave];break;
case "a": keyNum=keyConstants.a[octave];break;
case "b": keyNum=keyConstants.b[octave];break;
//Black keys
case "C":
case "db": keyNum=keyConstants.db[octave];break;
case "eb": keyNum=keyConstants.eb[octave];break;
case "gb": keyNum=keyConstants.gb[octave];break;
case "ab": keyNum=keyConstants.ab[octave];break;
case "bb": keyNum=keyConstants.bb[octave];break;
}
return keyNum;
}

//play piano
public static void playPiano(WebDriver drv,String[] sng) throws InterruptedException
{
for (String string : sng) 
{
int octave=Integer.parseInt(string.substring(0, 1));
string=string.substring(1);
int playTime=keyConstants.kaalam1;
if(string.length()==2) {playTime=keyConstants.kaalam2;string=string.substring(0, 1);}
//System.out.println(string);
int ky=playPianoFuncs.getKeyNumbers(octave,string);
//System.out.println("Key number:"+ky);
WebElement key=drv.findElement(By.cssSelector("*["+keyConstants.keyboardAttribute+"='"+ky+"']"));
key.click();
TimeUnit.MILLISECONDS.sleep(playTime);
}
}
}




Constants File:

package playPiano;

public class keyConstants {
//Octave (Low-0, Medium-1, High-2)
//public static int LMH=1;
//Tempo
public static int kaalam1=500;
public static int kaalam2=1000;
//Low,Mid,High - White Keys
public static int c[]= {90,84,221};
public static int d[]= {88,89,86};
public static int e[]= {67,85,66};
public static int f[]= {81,73,78};
public static int g[]= {87,79,77};
public static int a[]= {69,80,188};
public static int b[]= {82,219,190};
//Low,Mid,High - Black Keys
public static int db[]= {83,54,70};
public static int eb[]= {68,55,71};
public static int gb[]= {50,57,74};
public static int ab[]= {51,48,75};
public static int bb[]= {52,187,76};
//driver and browser settings
public static String chromeDriverPath="C:\\AEM Migration Project\\Eclipse\\chromedriver.exe";
public static String url="https://www.musicca.com/piano";
//time parameters
public static int commonTimeOut=120;
public static int httpConnTimeOut=120000;
//Piano specific attribute
public static String keyboardAttribute="data-key";
}


Tuesday, May 19, 2020

పెద్దలు, పిల్లలు, అరోగ్య/వ్యాది నిరోధక శక్తి సమస్యలు ఉన్నవారు corona బారిన పడతారు

రోజుకు 5000+ కరోనా కేసులు నమోదు అవుతున్నాయి గత కొద్ది రోజులుగా. ఆకలి చావులు & ఆర్థిక మాంద్యం నుండి తప్పించుకోడానికి మనం నిర్భందం సడలింపులు చేసుకుంటున్నాం.

దీని వలన మనం అందరం, ముఖ్యంగా మన పెద్దలు, పిల్లలు, అరోగ్య/వ్యాది నిరోధక శక్తి సమస్యలు ఉన్నవారు దీని బారిన పడతారు, మనం వారిని ప్రమాదం లోకి నెడుతున్నట్టే. 

కరోనా కేసులు రోజుకు 10000+ పెరిగే రోజులు వస్తున్నాయి, కొన్ని జాగ్రత్తలు పాటిస్తే దాని ఉధృతిని నిలువరించ వచ్చు. 
మనం స్వియ నిర్భందంలో ఉన్నప్పుడు ప్రకృతి ఎంత కోలుకుందో అందరికీ తెలిసిందే, అది కూడా అలానే కొనసాగాలంటే మనం కాస్త శ్రద్ధ వహించాలి. వీటిని అలవాటుగా మార్చుకుంటే మున్ముందు కూడా మంచిదే,

* సాత్విక ఆహారం, అన్ని రంగుల కూరలు పళ్ళు తినండి. సమయానికి నిద్ర, వ్యాయామం, శుభ్రమైన తిండి రోగనిరోదక శక్తి పెంచుతాయి
* పసుపు , తులసి, మిరియాలు, తమలపాకు, అల్లం, సొంటి వంటివి నెమ్మదిగా శాశ్వతంగా మీ రోగ నిరోధక శక్తి ని పెంపొదిస్తాయి 
* బయటకు వెళ్ళినప్పుడు మాస్కు/ సానిటైసర్ ఇంకా అవసరమయితే ఒక జత బట్టలు తీసుకు వెళ్ళండి. మీరు ప్రజా రవాణా లేదా చాలా దూరం ప్రయాణించే వారయితే ఆఫీసుకు వెళ్ళాకా శుభ్రపడి దుస్తులు మార్చుకోండి
* ఇంటికి రాగానే, బయటే పాద రక్షలు విడిచే ఏర్పాటు తప్పకుండా చేసుకోండి
* బయటకు వెళ్ళి వచ్చాకా, వీధి వైపు బాత్రూములు, ఇంటి లోపల నుండి కాకుండా బాత్రూములోకి దారి ఉంటే వెళ్ళి ముందు కాళ్ళూ చేతులూ సబ్బుతో కడుక్కోవడం , కుదిరితే స్నానం చెయ్యడం అలవాటు చేసుకోండి
* మీరు అపార్ట్మెంట్ లో ఉంటే మొక్కల దెగ్గర లేదా కార్ పార్కింగ్ దెగ్గర ఎదైన టప్ ఉన్న చోట, కాళ్ళూ చేతులూ కడుక్కుని ఇంట్లోకి వెళ్ళండి

* మెట్లు ఎక్కండి. కొరియర్లు సెక్యూరిటి దెగ్గర విడిచి పెట్టమనండి
* నమస్కారమే ఇక సంస్కారం
* వీలు అయినంత బయట వస్తువులను తాకవద్దు
* కొన్నాళ్ళు విందులు వినోదాలకు దూరంగా ఉండండి
* ఏ కాస్త అనారోగ్యం కనిపించినా బయట తిరగ వద్దు
* తుమ్ము మూఢ నమ్మకం కాదు, అటుగా వెంటనే వెళ్ళకండి
* మంచి నీళ్ళు ఎక్కువ తాగండి

ప్రకృతి బాగుండాలి అంటే,
* కార్ల వాడకం తగ్గించండి
* అవసరం లేనప్పుడు తిరగడం తగ్గించండి, పెట్రోల్ వృధా చెయ్యొద్దు
* మీరు వృధా చేసే ప్రతి చిన్న తిండి పదార్ధం, రేట్లు పెరగడానికి, పేద వాళ్ళు తినలేకపోవాడానికి కారణం అని గుర్తుంచుకోండి, ఒక పూట కాస్త వెలితిగా తిన్నా ఏమీ పరవాలేదు, ఎక్కువ వండి వృధా కానియ్యొద్దు ఆలోచించండి.
* చల్ది అన్నం వంటికి మంచిది
* మొక్కలు నాటండి
* నీరు తక్కువ వాడండి, బట్టలు రెండు సార్లు వేసుకోవచ్చు, ముక్యంగా ఏసీ లో పని చేసేవారు
* టాయిలట్ క్లీనర్స్, సబ్బులు, బట్టల పౌడర్లు తగినంత మాత్రమే వాడండి. కుదిరితే కుంకుడుకాయ లాంటి ప్రాకృతిక ప్రత్యామ్నయాలు వాడండి
* దోమల కోసం దోమల తెరలు, దోమల బాట్లు వాడండి. ఆలవుట్, కాయిల్స్ వద్దు. పొగలు మనకు మంచివి కాదు.