Thursday, November 19, 2015

vbs - Invert Mouse wheel


 Invert Mouse wheel



Call test()
msgbox("Done!! Please restart to take effect")


Sub test()
  Set objShell = CreateObject("Wscript.Shell")
 'objShell.Run ("powershell.exe -noexit write-host Hello world -exit")
 'objShell.Run ("powershell.exe -noexit Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0")
 objShell.Run ("powershell.exe -noexit Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-

ItemProperty $_.PSPath FlipFlopWheel 1 }")
End Sub

'View registry path
'Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0

'Change registry settings
'Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 0 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 1 }

'Restore
'Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Enum\HID\*\*\Device` Parameters FlipFlopWheel -EA 1 | ForEach-Object { Set-ItemProperty $_.PSPath FlipFlopWheel 0 }

Wednesday, September 9, 2015

Selenium : Change execution speed in Java (Set Speed)

Change execution speed in Java (Set Speed)

 

Create a new class "_WebDriver" which extends FireFoxDriver. Inside  "_WebDriver" class override method "findElement" and introduce a delay inside it.

public class Main_class{
    public static void main(String[] args)
    {
              WebDriver driver=new _WebDriver(200);
            
               driver.get("https://in.yahoo.com/");
               driver.findElement(By.id("UHSearchBox")).sendKeys("address1");    
              driver.findElement(By.id("UHSearchWeb")).click();
    }
}
 
//---------Create a new Java File
public class _WebDriver extends FirefoxDriver {
 
     private int set_speed=0;

    
     public _WebDriver(int set_speed)
//Constructor to initialize the speed
{
         this.set_speed=set_speed;
     }

    @Override
    public WebElement findElement(By by) {
        try {
            Thread.sleep(500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return by.findElement((SearchContext) this);
    }
}

Selenium : Passing Arguements using "By" class

Passing locator Arguments using "By" class


Passing locator in Selenium before its existence .(small snippet below)

class base_Library{

public static void main(String args[])

{
    Lib base_Library=new base_Library();
    base_Library.wait_to_load(By.id("templateCombobox"));
}

public void wait_to_load(By by){
        WebDriverWait wait = new WebDriverWait(driver,10);        wait.until(ExpectedConditions.elementToBeClickable(by));
    }
}




Selenium : Using FireFox and Chrome inbuilt Inspector and Xpath evaluator


Using FireFox inbuilt Inspector and Xpath evaluator

Steps below

  1. Launch Firefox (I'm using  40.0.3)
  2.  Open url "google.co.in"
  3. Goto Tools >Web Developer>Inspector
 

 Similar to Firebug , user can use crosshair in the console to target a particular element.

To Verify Xpath :
  1. In the above console
  2. Click on ">Console" tab
  3. type - $x("//input[@type='submit']")
  4. Press "Enter"
 


Syntax : $x("xpath")

For Chrome (same as Firefox)

Method 1:
Install Chropath extension for Chrome
Rt ck on web page
Ck on inspect 
In Developer window , click on ">>" symbol
Select chropath



Method 2 :
User can goto :
  • Settings>More tools >Developer tools
  • Elements > Control+F  to open search box
  • Type in your xpath Eg : .//input[@type='password']
OR
  • User can also validate Xpath using "Console" tab similar to FireFox
Rest is same as FireFox.

You can also try:

  1. Press F12 to open Chrome Developer Tool
  2. In "Elements" panel, press Ctrl+F
  3. In the search box, type in XPath or CSS Selector, if elements are found, they will be highlighted in yellow.


Friday, August 28, 2015

Jmeter : Running Selenium Scripts in Jmeter

Running Selenium Scripts in Jmeter

Pre -Req :
  1. Use latest Jmeter
  2. Goto link "http://jmeter-plugins.org/" and copy paste all the jars in "your_jmeter/lib" folder.
  3. Go to lib folder and delete files which has copies of older versions 
    1. httpclient-4.2.6.jar (delect this jar)
    2. httpclient-4.3.1.jar
    3. httpcore-4.2.5.jar (delect this jar)
    4. httpcore-4.3.jar
  4.  

Steps
  1. Open Eclipse
  2. Create new project
  3.  Add Selenium libraries to your project
  4. Add a class file in project> src  (ex: Jtest)
  5. Add the below code. 
public class Jtest {
    WebDriver driver;
   
    @Before
    public void setUp(){
        driver=new FirefoxDriver();
        System.out.println("before");
    }
    @Test
    public void test_meel(){
        driver.get("http://google.com");
    }   
    @After
    public void tearDown(){
        driver.close();
        System.out.println("after");
    }
}


Note : 
Junit Annotations are very important .
setUp() , tearDown() - method names should be exact. 

6. Save and Run (To Add Junit library ie., project>rt ck properties>Libraries>Add Library>Junit>select junit4>Finish).

7. Once It has Run successfully , project>rt ck>export>Select JAR file>Do as below
(Export Destination = "your_Jmeter/lib")



 
 8. Click Finish

 9.Open Jmeter
10.Add Thread groups
11. Thread groups>Junit Sampler
12.Thread groups> View Results Tree
13. goto Junit Request> Class name 







Output :
Result is same as if you Run seleniume script ie., Browser will open and close ,simultaneously performance is captured .


Tips :
Keep a watch on compiler version in eclipse .As currently Jmeter can recognize only 1.6 so your code needs to be compiled with 1.6 as well otherwise the class name and method will not show up in Jmeter.



Ref:
http://artoftesting.com/performanceTesting/jmeterJunit.html
http://stackoverflow.com/questions/29200736/jmeter-and-webdriver-set-do-not-work
http://jmetertips.blogspot.in/
http://pro-programmers.blogspot.in/2009/06/testing-junit-cases-in-jmeter-basic.html
http://jmetertips.blogspot.in/2009/07/running-junit-cases-with-jmeterbasic.html
http://www.javacodegeeks.com/2014/11/jmeter-tutorial-load-testing.html