web自動化測試進階

什么是框架

框架(framework)是一個框子 -- 指其約束性,也是一個架子 -- 指其支撐性拯田,是一個基本概念上的結(jié)構(gòu),用于去解決或者處理復(fù)雜的問題。

框架是整個或部分系統(tǒng)的可重用設(shè)計番川,表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實例間交互的方法;另一種定義認為脊框,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架颁督。前者是從應(yīng)用方面而后者是從目的方面給出的定義。

框架浇雹,其實就是某種應(yīng)用的半成品沉御,就是一組組件,供你選用完成你自己的系統(tǒng)昭灵。簡單說就是使用別人搭好的舞臺吠裆,你來做表演伐谈。


為什么使用框架

1)自己從頭實現(xiàn)太復(fù)雜

2)使用框架能夠更專注于業(yè)務(wù)邏輯,加快開發(fā)速度

3)框架的使用能夠處理更多細節(jié)問題

4)使用人數(shù)多硫痰,穩(wěn)定性衩婚,擴展性好






selenium環(huán)境搭建


1)python3.7

2)Firefox35(大于43)

3)selenium2框架

穩(wěn)定版 2.48.0 (pip install selenium==2.48.0)

4)瀏覽器驅(qū)動

下載谷歌驅(qū)動

selenium之 chromedriver與chrome版本映射表

Firefox瀏覽器對應(yīng)各個版本驅(qū)動下載地址

firefox各個版本安裝包的下載地址

注意:Firefox35(大于43)版本不需要下載驅(qū)動器,大于這個版本的需要效斑,Chrome需要下載驅(qū)動器非春,下邊分別演示。



selenium對瀏覽器操作


fromseleniumimportwebdriver

?selenium獲取斷言信息


什么是斷言

斷言是編程術(shù)語缓屠,表示為一些布爾表達式奇昙,程序員相信在程序中的某個特定點該表達式值為真,可以在任何時候啟用和禁用斷言驗證敌完,因此可以在測試時啟用斷言而在部署時禁用斷言储耐。



?獲取斷言信息的操作

current_url 獲取當(dāng)前訪問頁面url

title 獲取當(dāng)前瀏覽器標題

page_source 獲取網(wǎng)頁源碼


?selenium八大元素定位


from selenium import webdriverdriver=webdriver.Firefox()# url = "http://www.baidu.com"# driver.get(url)# 第一種 id# ele = driver.find_element_by_id("kw")# ele.send_keys(12306) # 輸入數(shù)據(jù)# from selenium.webdriver.common.by import By# ele = driver.find_element(By.ID,"kw")# ele.send_keys(12306) # 輸入數(shù)據(jù)# 第二種 標簽名字# ele = driver.find_element_by_name("wd")# ele.send_keys(12306) # 輸入數(shù)據(jù)# 第三種 class# ele = driver.find_element_by_class_name("s_ipt")# ele.send_keys(12306) # 輸入數(shù)據(jù)# 第四種 Xpath# ele = driver.find_element_by_xpath("http://*[@id='kw']")# ele.send_keys(12306) # 輸入數(shù)據(jù)# 第五種 css class# ele = driver.find_element_by_css_selector("#kw")# ele.send_keys(12306) # 輸入數(shù)據(jù)# 第六種 text# ele = driver.find_element_by_link_text("地圖")# ele.click() # 輸入數(shù)據(jù)# 第七種:類似于模糊匹配# ele = driver.find_element_by_partial_link_text("地")# ele.click()# 第八種:標簽名定位,必須得保證只有一個這種名字的標簽滨溉,使用下面這個搜索# url = "http://cn.bing.com/"# driver.get(url)# ele = driver.find_element_by_tag_name("input")# ele.send_keys(12306) # 輸入數(shù)據(jù)


元素的操作


對元素的相關(guān)操作什湘,一般要先獲取到元素,再調(diào)用相關(guān)方法

element = driver.find_element_by_xxx(value)

1)點擊和輸入

點擊操作---------->element.click()

清空/輸入操作:

element.clear()---------------------->清空輸入框

element.send_keys(data)-------->輸入數(shù)據(jù)


多標簽之間的切換

場景:有的時候點擊一個鏈接晦攒,新頁面并非由當(dāng)前頁面跳轉(zhuǎn)過去闽撤,而是新開一個頁面打開,這種情況下脯颜,計算機需要識別多標簽或窗口的情況哟旗。

1)獲取所有窗口的句柄

handles = driver.window_handlers

調(diào)用該方法會得到一個列表,在selenium運行過程中的每一個窗口都有一個對應(yīng)的值存放在里面栋操。

2)通過窗口的句柄進入的窗口

driver.switch_to_window(handles[n])

driver.switch_to.window(handles[n])

通過窗口句柄激活進入某一窗口


? 多表單切換

在網(wǎng)頁中闸餐,表單嵌套是很常見的情況,尤其是在登錄的場景

?什么是多表單

實際上就是使用iframe/frame矾芙,引用了其他頁面的鏈接舍沙,真正的頁面數(shù)據(jù)并沒有出現(xiàn)在當(dāng)前源碼中,但是在瀏覽器中我們看到蠕啄,簡單理解可以使頁面中開了一個窗口顯示另一個頁面

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末场勤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子歼跟,更是在濱河造成了極大的恐慌,老刑警劉巖格遭,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哈街,死亡現(xiàn)場離奇詭異,居然都是意外死亡拒迅,警方通過查閱死者的電腦和手機骚秦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進店門她倘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人作箍,你說我怎么就攤上這事硬梁。” “怎么了胞得?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵荧止,是天一觀的道長。 經(jīng)常有香客問我阶剑,道長跃巡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任牧愁,我火速辦了婚禮素邪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘猪半。我一直安慰自己兔朦,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布磨确。 她就那樣靜靜地躺著沽甥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俐填。 梳的紋絲不亂的頭發(fā)上安接,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天,我揣著相機與錄音英融,去河邊找鬼盏檐。 笑死,一個胖子當(dāng)著我的面吹牛驶悟,可吹牛的內(nèi)容都是我干的胡野。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼痕鳍,長吁一口氣:“原來是場噩夢啊……” “哼硫豆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起笼呆,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤熊响,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后诗赌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汗茄,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年铭若,在試婚紗的時候發(fā)現(xiàn)自己被綠了洪碳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片递览。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瞳腌,靈堂內(nèi)的尸體忽然破棺而出绞铃,到底是詐尸還是另有隱情,我是刑警寧澤嫂侍,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布儿捧,位于F島的核電站,受9級特大地震影響吵冒,放射性物質(zhì)發(fā)生泄漏纯命。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一痹栖、第九天 我趴在偏房一處隱蔽的房頂上張望亿汞。 院中可真熱鬧,春花似錦揪阿、人聲如沸疗我。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吴裤。三九已至,卻和暖如春溺健,著一層夾襖步出監(jiān)牢的瞬間麦牺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工鞭缭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留剖膳,地道東北人。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓岭辣,卻偏偏與公主長得像吱晒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子沦童,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. 什么是框架 框架(framework)是一個框子 -- 指其約束性仑濒,也是一個架子 -- 指其支撐性,是一個基...
    在摘棉花閱讀 186評論 0 0
  • 1. 什么是框架 框架(framework)是一個框子 -- 指其約束性偷遗,也是一個架子 -- 指其支撐性墩瞳,是一個基...
    ln111閱讀 122評論 0 0
  • 一、selenium環(huán)境搭建 (1)python3.7 (2)Firefox35(大于43) (3)sel...
    384bdb547ea6閱讀 228評論 0 0
  • 一氏豌、selenium環(huán)境搭建 (1)python3.7 (2)Firefox35(大于43) ...
    熠漠然閱讀 165評論 0 0
  • 一矗烛、selenium環(huán)境搭建 (1)python3.7 (2)Firefox35(大于43) ...
    FanXX閱讀 174評論 0 1