21

Selenium WebDriver を使用し、Python でコーディングしています

私はあらゆる場所を調べましたが、最良のものはさまざまな言語で書かれたものでした。また、Selenium IDE でエクスポート ツールを使用しようとしましたが、データを見ると、この機能はエクスポートでサポートされていません。

編集:ブラウザーをより大きな解像度で開く必要があるのは、テストしている Web アプリケーションがタブレットの解像度をサポートしているため、ブラウザー ウィンドウの解像度によって要素が異なるためです。

これは、いくつかの変更を加えて IDE からエクスポートしたスクリプトです。


from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.support.ui import Select

from selenium.common.exceptions import NoSuchElementException

import unittest, time, re

from Funk_Lib import RS


class CreatingEditingDeletingVault(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://cimdev-qa40/"
        self.verificationErrors = []


    def test_creating_editing_deleting_vault(self):
        driver = self.driver
        driver.get(self.base_url + "/Login?contoller=Home")
        driver.find_element_by_id("UserName").click()
        driver.find_element_by_id("UserName").clear()
        driver.find_element_by_id("UserName").send_keys("user@gocodigo.com")
        driver.find_element_by_name("Password").click()
        driver.find_element_by_name("Password").clear()
        driver.find_element_by_name("Password").send_keys("Codigo#123")
        driver.find_element_by_id("fat-btn").click()
        driver.get(self.base_url + "/Content/Vaults/")
        driver.find_element_by_link_text("Content").click()
        driver.find_element_by_link_text("Vaults").click()
        driver.find_element_by_css_selector("button.btn.dropdown-toggle").click()
        driver.find_element_by_link_text("New vault").click()
        driver.find_element_by_name("Name").clear()
        driver.find_element_by_name("Name").send_keys("Test Vault")
        driver.find_element_by_xpath("//button[@onclick=\"vault_action('createvault', null, $('#CreateVault [name=\\'Name\\']').val())\"]").click()
        driver.find_element_by_css_selector("button.btn.dropdown-toggle").click()
        driver.find_element_by_link_text("Rename vault").click()
        driver.find_element_by_name("Id").click()
        Select(driver.find_element_by_name("Id")).select_by_visible_text("Test Vault")
        driver.find_element_by_css_selector("option[value=\"2\"]").click()
        driver.find_element_by_name("Name").clear()
        driver.find_element_by_name("Name").send_keys("Test Change")
        driver.find_element_by_xpath("//button[@onclick=\"vault_action('renamevault', $('#RenameVault [name=\\'Id\\']').val(), $('#RenameVault [name=\\'Name\\']').val())\"]").click()
        driver.find_element_by_css_selector("button.btn.dropdown-toggle").click()
        driver.find_element_by_link_text("Delete vault").click()
        driver.find_element_by_name("Id").click()
        Select(driver.find_element_by_name("Id")).select_by_visible_text("Test Change")
        driver.find_element_by_css_selector("option[value=\"2\"]").click()
        driver.find_element_by_xpath("//button[@onclick=\"vault_action('deletevault', $('#DeleteVault [name=\\'Id\\']').val(), '')\"]").click()

    def is_element_present(self, how, what):
        try: self.driver.find_element(by=how, value=what)
        except NoSuchElementException, e: return False
        return True

    def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

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

4 に答える 4

37

セレン2.31.0

driver = webdriver.Firefox()

# Resize the window to the screen width/height
driver.set_window_size(300, 500)

# Move the window to position x/y
driver.set_window_position(200, 200)
于 2013-03-14T18:19:55.667 に答える
26
browser = webdriver.Firefox()
url = 'http://www.google.com/'
browser.get(url)
browser.maximize_window()
于 2013-04-17T05:04:20.267 に答える
5

selenium.windowMaxmize();または、特定の解像度でテストを実行したい場合は、次のいずれかを使用できます。

selenium.getEval("window.resizeTo(X, Y); window.moveTo(0,0);")

于 2012-11-27T05:02:20.197 に答える