10

Webdriverを使用してJavaでsciptを作成しましたが、正常に機能しました。以下はサンプルのコードです

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

}

しかし、私の要件は、webdriver を使用して Python で同じことを実装することです。上記の例と webdriver バイナリでこれを行う方法と、同じものをセットアップする方法を教えてください。

4

3 に答える 3

12

WebDriverのPythonバインディングの説明を読みましたか?

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が少し移動しました)。

于 2010-05-04T07:57:13.597 に答える
2
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')
于 2012-08-16T04:15:29.470 に答える
1

これはプラグですが、おそらくあなたの質問に少し答えます:

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 
于 2013-01-12T06:49:12.623 に答える