Пример Selenium Webdriver в Python - PullRequest
10 голосов
/ 04 мая 2010

Я написал сценарий на Java с Webdriver, и он работал нормально, и ниже приведен код для примера

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");
   }
     }

}

Но мое требование состоит в том, чтобы реализовать то же самое в python с помощью webdriver. Пожалуйста, дайте мне знать, как это можно сделать с помощью приведенного выше примера и двоичных файлов webdriver и как выполнить настройку для того же

Ответы [ 3 ]

12 голосов
/ 04 мая 2010

Читали ли вы инструкции в привязках Python для WebDriver ?

example2.py ясно, хотя и не является прямым переводом вашего кода:

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()

Тестовый модуль, GoogleOneBox , моделирует страницу с панелью поиска Google. (URL немного переместился).

2 голосов
/ 16 августа 2012
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')
1 голос
/ 12 января 2013

это плагин, но, возможно, немного отвечает на ваш вопрос:

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
        )

подробности в документации на holmium.core документация на holmium.core

запустить как:

nosetests test_google.py --with-holmium --holmium-browser=firefox 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...