Selenium學(xué)習(xí)筆記(一)-創(chuàng)新互聯(lián)

不過多的介紹Selenium的歷史以及應(yīng)該使用哪個(gè)版本進(jìn)行測(cè)試了。這只是我的學(xué)習(xí)筆記,方便以后回顧新的知識(shí)。Selenium學(xué)習(xí)筆記(一)

Selenium的命令—Selenese

Selenese---Selenium提供的可以進(jìn)行全面的Web應(yīng)用測(cè)試的命令的總稱。可以通過http://release.seleniumhq.org/selenium-core/1.0.1/reference.html 查詢。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供桑珠孜網(wǎng)站建設(shè)、桑珠孜做網(wǎng)站、桑珠孜網(wǎng)站設(shè)計(jì)、桑珠孜網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、桑珠孜企業(yè)網(wǎng)站模板建站服務(wù),十年桑珠孜做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

該命令主要有三種子類型,Actions、Accessors和 Assertions:

  1. 1. Actions決定Selenium工具怎樣操作Web系統(tǒng),如:點(diǎn)擊某個(gè)鏈接和選擇某個(gè)下拉選項(xiàng),若一個(gè)Action執(zhí)行失敗或發(fā)生錯(cuò)誤,當(dāng)前測(cè)試被終止執(zhí)行。
  2. 2. Accessors檢查當(dāng)前系統(tǒng)狀態(tài),并將結(jié)果存放在變量中。如: storeTitle 命令。它們也被用來(lái)自動(dòng)產(chǎn)生斷言
  3. 3. Assertions類似于Accessors,不過它們驗(yàn)證系統(tǒng)是否遵從于期望的表現(xiàn)。如:保持頁(yè)面標(biāo)題是…、驗(yàn)證多選框…被選中。
  4. Selenium Assertions 可以被歸納為三種模式: “assert”, “verify“,”waitFor“。
  5. assert失敗,測(cè)試終止,verify失敗,測(cè)試?yán)^續(xù)進(jìn)行,并在日志中記錄失敗。通常使用assert確保測(cè)試在正確的頁(yè)面上進(jìn)行,使用verify驗(yàn)證表單數(shù)據(jù),頁(yè)簽等。
  6. waitFor等待某些條件變真(在對(duì)Ajax類應(yīng)用中特別管用),當(dāng)條件為真時(shí),它將立刻成功,在預(yù)設(shè)時(shí)間內(nèi)(setTimeout)條件沒有變成真,它將失敗并停止測(cè)試執(zhí)行。‘

附上測(cè)試gmail登錄的腳本。應(yīng)該可以精簡(jiǎn)許多,明天在研究了。

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

class Test(unittest.TestCase):
def setUp(self):
        self.driver= webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url= "https://accounts.google.com"
        self.verificationErrors= []
        self.accept_next_alert= True
    
def test_(self):
        driver= self.driver
        driver.get(self.base_url+ "/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1&ltmpl=default&ltmplcache=2")
# ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]   # ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]        driver.find_element_by_id("Email").send_keys("******")
        driver.find_element_by_id("Passwd").send_keys("******")
        driver.find_element_by_id("signIn").click()
# Warning: assertTextPresent may require manual changes   #self.assertRegexpMatches(driver.find_element_by_css_selector("BODY").text, r"^[sS]*Gmail[sS]*$")    
  def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException, e: return False
return True
    
def close_alert_and_get_its_text(self):
try:
            alert= self.driver.switch_to_alert()
if self.accept_next_alert:
                alert.accept()
else:
                alert.dismiss()
return alert.text
finally: self.accept_next_alert = True
    
def tearDown(self):
        self.driver.quit()
        self.assertEqual([], self.verificationErrors)

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

當(dāng)前文章:Selenium學(xué)習(xí)筆記(一)-創(chuàng)新互聯(lián)
URL鏈接:http://muchs.cn/article42/dspjhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、建站公司、標(biāo)簽優(yōu)化、關(guān)鍵詞優(yōu)化、全網(wǎng)營(yíng)銷推廣、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)