开发者

Selenium Webdriver example in Python

I had writt开发者_如何学Cen a scipt in Java with Webdriver and it worked fine and below is the code for the sample

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.firefox.FirefoxDriver;
import com.thoughtworks.selenium.Selenium;
import java.util.*;
import java.lang.Thread.*;

public class Login {

 @BeforeClass
 public static void setUpBeforeClass() throws Exception {
 }

 @AfterClass
 public static void tearDownAfterClass() throws Exception {
 }

 @Before
 public void setUp() throws Exception {
 }

 @After
 public void tearDown() throws Exception {
 }

    public static void main(String[] args) {
         WebDriver driver = new FirefoxDriver();
         Selenium selenium = new WebDriverBackedSelenium(driver,     "http://192.168.10.10:8080/");
         selenium.open("/");
   selenium.keyPress("name=user_id", "admin");
   }
     }

}

But my requirement is to implement the same in python with webdriver, can you please let me know how this can be done with the above example and webdriver binaries and how to do setup for the same


Did you read the instructions at python bindings for WebDriver ?

example2.py is clear, although not a direct translation of your code:

import unittest
from google_one_box import GoogleOneBox
from selenium.firefox.webdriver import WebDriver

class ExampleTest2(unittest.TestCase):
    """This example shows how to use the page object pattern.

    For more information about this pattern, see:
    http://code.google.com/p/webdriver/wiki/PageObjects
    """

    def setUp(self):
        self._driver = WebDriver()

    def tearDown(self):
        self._driver.quit()

    def testSearch(self):
        google = GoogleOneBox(self._driver, "http://www.google.com")
        res = google.search_for("cheese")
        self.assertTrue(res.link_contains_match_for("Wikipedia"))

if __name__ == "__main__":
    unittest.main()

A test module, GoogleOneBox, models a page that has a google search bar (the url moved a little).


import unittest
from selenium import webdriver

class Login(unittest.TestCase):
    def setUp(self):
       self.driver = webdriver.Firefox()

    def tearDown(self):
       self.driver.quit()

    def test_login(self):
       driver = self.driver
       driver.get('http://testurl')
       username = driver.find_element_by_name('user_id')
       username.send_keys('admin')


this is a plug, but maybe answers your question a bit:

import unittest
from holmium.core import PageObject, PageElement, PageElements, Locators

class GoogleMain(PageObject):
    search_box = PageElement( Locators.NAME, "q", timeout = 1)
    search_results = PageElements( Locators.CSS_SELECTOR, "li.g", timeout = 1)

    def search ( self, query ):
        self.search_box.clear()
        self.search_box.send_keys(query)
        self.search_box.submit()

class Test(unittest.TestCase):
    def test_search_simple(self):
        self.assertTrue(
                len( GoogleMain(self.driver, "http://google.com").search( "selenium" ).search_results) > 0
        )

details at holmium.core documentation holmium.core documentation

run as:

nosetests test_google.py --with-holmium --holmium-browser=firefox 
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜