background preloader

Selenium WebDriver — Selenium Documentation

Selenium WebDriver — Selenium Documentation
NOTE: We’re currently working on documenting these sections. We believe the information here is accurate, however be aware we are also still working on this chapter. Additional information will be provided as we go which should make this chapter more solid. Introducing WebDriver The primary new feature in Selenium 2.0 is the integration of the WebDriver API. How Does WebDriver ‘Drive’ the Browser Compared to Selenium-RC? Selenium-WebDriver makes direct calls to the browser using each browser’s native support for automation. For those familiar with Selenium-RC, this is quite different from what you are used to. WebDriver and the Selenium-Server You may, or may not, need the Selenium Server, depending on how you intend to use Selenium-WebDriver. There are some reasons though to use the Selenium-Server with Selenium-WebDriver. Setting Up a Selenium-WebDriver Project To install Selenium means to set up a project in a development so you can write a program using Selenium. Java <? Python Ruby Perl Pros Related:  SeleniumSELENIUM

AndroidDriver - selenium - Browser automation framework Use Selendroid instead. Android WebDriver allows to run automated end-to-end tests that ensure your site works correctly when viewed from the Android browser. Android WebDriver supports all core WebDriver APIs, and in addition to that it supports mobile spacific and HTML5 APIs. Android WebDriver models many user interactions such as finger taps, flicks, finger scrolls and long presses. It can rotate the display and interact with HTML5 features such as local storage, session storage and application cache. We try to stay as close as possible to what the user interaction with the browser is. Supported Platforms The current apk will only work with Gingerbread (2.3.x), Honeycomb (3.x), Ice Cream Sandwich (4.0.x) and later. Useful Related Links Install the Android SDK Download the Android SDK, and unpack it to ~/android_sdk/. Setup the Environment Android WebDriver test can run on emulators or real devices for phone and tablets. Setup the Emulator First, let's create an Android Virtual Device (AVD):

Running Selenium Headless Our dog food Pulse server, which spends all day building itself, is a headless box. This presented no challenge for the Pulse 1.x series of releases, as our builds are all scripted and don’t require any GUI tools. With Pulse 2.0, however, things changed. Fortunately, the dog food server is also a Linux box. Setting things up is straightforward. # apt-get install xvfb on Debian/Ubuntu; or # yum install xorg-x11-Xvfb on Fedora/RedHat. # Xvfb :99 -ac Now you need to ensure that your display is set to 99 before running the Selenium server (which itself launches the browser). $ export DISPLAY=:99 $ firefox Firefox should launch without error, and stay running (until you kill it with Control-C or similar). An alternative which may suit some setups is to use the xvfb-run wrapper to launch your Selenium server. ) then you may want to look into it. —1 If you are worried about access on your network, then using -ac long-term is not a good idea. Liked this post?

Google Open Source Blog: Test Your Mobile Web Apps with WebDriver - A Tutorial Our first “by the numbers” post was about what countries this year’s accepted Google Summer of Code students are from - all 73 countries - which made for a big list. This time we’re serving up a mix of interesting stats in smaller charts. "How old are the students?" Google Summer of Code is for students ages 18 and older - but note the lack of an upper limit. While most of the students are relatively young, we also welcome non-traditional students to participate. “Am I the only undergraduate in the program?” "How many women are participating in GSoC 2014?" We are very pleased to report that just over 10% of this year’s accepted students are women. We will be doing additional posts about the statistics for GSoC 2014 in the next few weeks. By Cat Allman, Open Source Programs

Agile Testing: Running Selenium WebDriver tests using Firefox headless mode on Ubuntu Selenium IDE is a very good tool for recording and troubleshooting Selenium tests, but you are limited to clicking around in a GUI. For a better testing workflow, including load testing, you need to use Selenium WebDriver, which can programatically drive a browser and run Selenium test cases. In its default mode, WebDriver will launch a browser and run the test scripts in the browser, then exit. If you like to work exclusively from the command line, then you need to look into running the browser in headless mode. Install the official Firefox Beta PPA: $ sudo apt-add-repository ppa:mozillateam/firefox-next (this will add the file /etc/apt/sources.list.d/mozillateam-firefox-next-trusty.list and also fetch the PPA’s key, which enables your Ubuntu system to verify that the packages in the PPA have not been interfered with since they were built) Run apt-get update: $ sudo apt-get update Install firefox and xvfb (the X windows virtual framebuffer) packages: $ sudo apt-get install firefox xvfb

RubyBindings - selenium - Ruby bindings - Browser automation framework The Ruby bindings for Selenium/WebDriver are available as the selenium-webdriver gem. The web page explains how to install the selenium-webdriver gem. On Mac OSX and linux you may need to prefix the rest of the command with the sudo command if the installation fails because of security restrictions on your computer. There are many other Selenium gems out there, but this is the only official, maintained gem. If you're looking for a slightly higher level API built on the same technology, you may want to check out watir-webdriver or capybara. The bindings support Ruby 1.9.2 through 2.0.0, JRuby and Rubinius. The gem also includes the older selenium-client gem for use with Selenium RC. Selenium::WebDriver - the WebDriver API Selenium::Client - Selenium RC API (previously released as the selenium-client gem) The WebDriver API is the successor to the Selenium RC API. The bindings provide a slightly rubified version of the WebDriver API: require "selenium-webdriver" puts driver.title driver.quit

Grid2 · SeleniumHQ/selenium Wiki Selenium grid for selenium1 and webdriver Introduction Grid allows you to : scale by distributing tests on several machines ( parallel execution )manage multiple environments from a central point, making it easy to run the tests against a vast combination of browsers / OS.minimize the maintenance time for the grid by allowing you to implement custom hooks to leverage virtual infrastructure for instance. Quick Start This example will show you how to start the Selenium 2 Hub, and register both a WebDriver node and a Selenium 1 RC legacy node. Step 1: Start the hub The Hub is the central point that will receive all the test request and distribute them the the right nodes. Open a command prompt and navigate to the directory where you copied the selenium-server-standalone file. java -jar selenium-server-standalone-2.14.0.jar -role hub The hub will automatically start-up using port 4444 by default. Step 2: Start the nodes Using grid to run tests Pass that into the RemoteWebDriver object:

Selenium Blog: Finding the broken links in a webpage using Selenium We heard about some Firefox plug-ins to find broken links in a webpage, like Link Checker, Xenu and etc. We need to install these plug-ins with Firefox browser and find the broken URLs or 404 pages. We can write the Selenium script for the same functionality. How can we do that? We need to find the number of links available on the pageWe need to track each and every linkFinally we can get the response code for each and every URL or link with the help of HttpURLConnection Class and getResponseCode method. How to find the number of links on the page? We can find the number using selenium.getXpathCount("//a").intValue() method. selenium=new DefaultSelenium("localhost", 4444, "*firefox", " selenium.start();"/"); int linkCount = selenium.getXpathCount("//a").intValue(); How to track each and every link on the page? We can use the for loop and track the links one by one using this.browserbot.getUserWindow().document.links[] method. URL u = new URL(urlString); @Test

Getting started - ChromeDriver - WebDriver for Chrome This page documents how to start using ChromeDriver for testing your website on desktop (Windows/Mac/Linux). You can also read Getting Started with Android or Getting Started with ChromeOS Setup ChromeDriver is a separate executable that WebDriver uses to control Chrome. Follow these steps to setup your tests for running with ChromeDriver: Ensure Chromium/Google Chrome is installed in a recognized location ChromeDriver expects you to have Chrome installed in the default location for your platform. Download the ChromeDriver binary for your platform under the downloads section of this siteHelp WebDriver find the downloaded ChromeDriver executable Any of these steps should do the trick: include the ChromeDriver location in your PATH environment variable(Java only) specify its location via the system property (see sample below)(Python only) include the path to ChromeDriver when instantiating webdriver.Chrome (see sample below) Sample test Java: Python: 1. import time 2. $ .