What is Selenoid

What is Selenoid ?

Selenoid is an alternative solution for Parallel Selenium test execution when you are not looking for Selenium Grid or Docker selenium.

Like the way Docker selenium out perform over selenium grid, Selenoid also has the advantage over selenium grid being dockerized.

Selenoid has successful implementation of docker containers to kick start browser tests. It provides fresh environment for each test.

In selenoid tests, containes starts with test and getting removed with test execution ends. This gives good performance for this design.

as first step of configuration , you may need to install docker and run selenoid on docker containers. Selenoid-ui is used to track test execution gui mode.

How to Validate the XPATH is correct in Selenium automation

How to validate XPath?
In console type $x(“paste xpath here”) and enter. Result should show the correct element pointing to the xpath.For css, try with $(“paste css here”)
Customized XPath
From html code, we can create XPath and validate.
\\tagName[@attribute=‘value]
Css can created using below formula from html code.
tagName[attribute=‘value’]
Mouse interactions- Actions Class
create an object and use moveToElement and build().perform() method

What is Automagica

Automagica is Smart robotic process automation (SRPA) tool and best matches for Windows automation. Aytomagica is built on the following open source libraries,

PyPDF2
Psutil
py-trello
plyer
Pillow
Faker
Psutil
Keyring
PySimpleGUI
Cryptography
PyAutoGUI
Selenium
PyWinAuto
OpenPyXL
python-docx
pywin32
pyttsx3
pyad
jupyterlab
SRPA Automagica automates windows paint, excel,  sap apps etc.

How to run selenium on linux server using Firefox binary

How to run selenium on linux server using Firefox binary

String Xport = System.getProperty(“lmportal.xvfb.id”, “:1”); // setup firefox binary to start Xvfb
final File ffPath = new File(System.getProperty(“lmportal.deploy.firefox.path”, “/usr/bin/firefox”));
FirefoxBinary ffBinary = new FirefoxBinary(ffPath);
ffBinary.setEnvironmentProperty(“DISPLAY”, Xport);

WebDriver driver = new FirefoxDriver(ffBinary, null);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.get(“URL”);

Salesforce Admin Syllabus

Salesforce Admin Syllabus

  • Types of Objects & Fields
    • Standard Objects (Sample video link below)
    • Custom Objects (Sample video link below)
    • Standard Fields
    • Custom Fields

https://www.youtube.com/watch?v=8G27oLuUTVA

  • Types of Relationships, Field Dependency
  • Visualforce
  • Custom, Console application
  • Field Accessibility
  • Grant Login Access
  • Calendar, Console Tab
  • Trusted IP Ranges
  • Session Settings
  • Different types of Email templates
    • Text
    • HTML (using Letterhead)
    • Custom (without using Letterhead)
  • Different types of tabs
    • Custom Object Tab
    • Web Tab
    • Visualforce Tab
  • Field History Tracking in Salesforce, Feed Tracking
  • View setup audit trail
  • Organization Wide Default
  • Roles, Role Hierarchy
  • Sharing Rules
  • Profiles
  • Permission Sets
  • Password Policies
  • Developer console
  • Validation Rules
  • Approval process
  • Reports and Dashboards
  • Scheduling reports
  • Report Types
  • Adding dashboards in Home page
  • Chatter, Chatter Desktop
  • Queues
  • Public Groups
  • Assignment Rules, Auto Response Rule
  • Views
  • Domain Registration
  • Workflow rules
    • Email Alert
    • Task
    • Field Update
    • Outbound Message
  • Search Layouts
  • Search Results
    • Lookup Dialogs, Phone Dialogs
    • Accounts Tab
    • Accounts List View
    • Search Filter Fields
  • Page Layout
  • Mini Console View
  • Mini Page Layout
  • Record Types
  • Apex Data loader tool
  • com Explorer tool, Sites
  • Data Management
    • Analytic Snapshots
    • Import Accounts/Contacts, Leads, Solutions, Custom Objects
    • Data Export
    • Storage Usage
    • Mass Transfer Records
    • Mass Delete Records
    • Mass Transfer Approval Requests
    • Mass Update Addresses
    • Data Loader
  • Tags in Salesforce
  • Live Agent
  • Public Solutions
  • Chatter Answers
  • Entitlement Management
  • How to access Salesforce from all IP Ranges – App Exchange application
  • Mass Edit, Delete – App Exchange application
  • Login Hours restriction for Profiles
  • Edit, Delete and Clone Buttons
  • App Exchange, Chat Settings(Chat Window)
  • Email to Case
  • Web-to-Lead
  • Web-to-Case
  • Schema Builder
  • Visualforce page
  • Actions in Salesforce
  • How to expire all the users password in Salesforce?
  • How Salesforce login works?
  • Account, Opportunity and Case teams
  • Manual Sharing
  • Renaming Tab Names and Labels
  • Io, Data.com
  • Merge tool
  • Chatter Approval Request
  • https://success.salesforce.com
  • Opportunity Split
  • Workbench, Work.com
  • Escalation Rules
  • Adding Multiple Users
  • Account Hierarchy
  • Multi-Tenant Architecture
  • Creating Custom Tab Style in Salesforce
  • Historical Trend Reporting
  • Splash Page creation

QA Automation Interview questions

QA Automation Interview questions

  1. Differentiate final , finally, finalize (Short Ans: final method can’t be overridden, final variable can’t be changed, finally goes with try/catch, finalize is garbage collector)
  2. how to handle exceptions in java (Ans: try catch, throws, etc)
  3. how to use parameters in cucumber/testNG (Ans: scenario outline,tidy gherkin plugin, vs testng.xml-suite,test,class,method;)
  4. compare TestNG and Cucumber BDD (Ans: testng.xml, POM,vs feature file,Junit testrunner,stepDefention, POM)
  5. how to validate flatfiles , db using Java (Ans: input filestream, driver class connection, server name, instance , authentication, sql statement)
  6. how to skip method/test in TestNG, Cucumber BDD (Ans: testng.xml, annotation, cucumber tags on testrunner)
  7. differentiate encapsulation , abstraction
  8. what are interface and explain the methods – webdriver interface, driver object reference, FF/IEdriver class (Since interface can not be instantiated)
  9. write programs – sort array, print number in reverse, print string reverse, etc
  10. how does SSL works , public key-private key, session encryption etc
  11. method overridden vs method overloading (super class methods are overridden by child class when both has same methods, overload – one class has multiple methods with same method name but different parameters)
  12. Selenium automation challenges (ajax – webdriver wait methods, frames switch, alert.accept, multiple windows handlers, pdf in webpage, alert vs modal confuse, dynamic id,name-use xpath contains, etc)
  13. handle dropdown – select class
  14. feature file extension
  15. bufferbuilder usage
  16. what is background, scenarios outline, before/afterhooks vs tags, 
  17. usage of autoit, robotclass, javascript executor, 
  18. Jenkins schedule batch, report generation, 
  19. grid setup, hub and node, run on dos prompt, or use JSON file to configure nodes and run JSON on commandline..then connect in Jenkins 
  20. how to manage Git versions between two teams
  21. What is data structure and use of it test automation

Nested Java program loops

Nested Java program loops

import java.util.Scanner;

class NestedIfElse {
public static void main(String[] args) {
int marksObtained, passingMarks;
char grade;

passingMarks = 40;

Scanner input = new Scanner(System.in);

System.out.println(“Input marks scored by you”);

marksObtained = input.nextInt();

if (marksObtained >= passingMarks) {

if (marksObtained > 90)
grade = ‘A’;
else if (marksObtained > 75)
grade = ‘B’;
else if (marksObtained > 60)
grade = ‘C’;
else
grade = ‘D’;

System.out.println(“You passed the exam and your grade is ” + grade);
}
else {
grade = ‘F’;
System.out.println(“You failed and your grade is ” + grade);
}
}
}

If else program in Java

If else program in Java

import java.util.Scanner;

class IfElse {
public static void main(String[] args) {
int marksObtained, passingMarks;

passingMarks = 40;

Scanner input = new Scanner(System.in);

System.out.println(“Input marks scored by you”);

marksObtained = input.nextInt();

if (marksObtained >= passingMarks) {
System.out.println(“You passed the exam.”);
}
else {
System.out.println(“Unfortunately you failed to pass the exam.”);
}
}
}