xpath css選擇器

?1.什么是xpath?

XPath即為XML路徑語言抬驴,它是一種用來(標準通用標記語言的子集)在 HTML\XML 文檔中查找信息的語言。

2.什么是XML?

XML 指可擴展標記語言(EXtensible Markup Language)

XML 是一種標記語言缆巧,很類似 HTML

XML 的設(shè)計宗旨是傳輸數(shù)據(jù)布持,而非顯示數(shù)據(jù)

獲取元素

表達式

nodename:獲取此節(jié)點的所有子節(jié)點

/:從根節(jié)點選取

//:從匹配選擇的當前節(jié)點選擇文檔中的節(jié)點,從而不考慮他們的位置

.:選取當前節(jié)點

..:選取當前節(jié)點的父節(jié)點

@:選取屬性

/根節(jié)點?

//title 全局模糊定位title

//head/. 定位head元素

//haad/.. 定位head元素的父元素

?//meta[@conent]?

?//meta[@conent=""]

3.什么是css選擇器陕悬?

CSS 中题暖,選擇器是一種模式,用于選擇需要添加樣式的元素捉超。計算機能夠通過css選擇器定位到相應(yīng)元素胧卤,我們在編寫自動化測試腳本的時候很多時候是在不斷地找到css選擇器。

1. 什么是框架

框架(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)腺阳。簡單說就是使用別人搭好的舞臺落君,你來做表演。

2. 為什么使用框架

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

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

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

4)使用人數(shù)多绎速,穩(wěn)定性,擴展性好

3.selenium工作原理

原理:webdriver是按照server–client的經(jīng)典設(shè)計模式設(shè)計的痛侍。

server端就是remote server朝氓,可以是任意的瀏覽器魔市。當我們的腳本啟動瀏覽器后主届,該瀏覽器就是remote server赵哲,它的職責就是等待client發(fā)送請求并做出相應(yīng);client端簡單說來就是我們的測試代碼君丁,我們測試代碼中的一些行為枫夺,比如打開瀏覽器,轉(zhuǎn)跳到特定的url等操作是以http請求的方式發(fā)送給被測試瀏覽器绘闷,也就是remote server橡庞;remote server接受請求,并執(zhí)行相應(yīng)操作印蔗,并在response中返回執(zhí)行狀態(tài)扒最、返回值等信息。

4. selenium環(huán)境搭建

1)python3.7

2)Firefox35(大于43)

3)selenium2框架

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

4)瀏覽器驅(qū)動

注意:Firefox35(大于43)版本不需要下載驅(qū)動器华嘹,大于這個版本的需要吧趣,Chrome需要下載驅(qū)動器,下邊分別演示耙厚。

selenium對瀏覽器操作

1)庫的導(dǎo)入

fromseleniumimportwebdriver

2)創(chuàng)建瀏覽器對象

driver = webdriver.xxx()

使用dir(driver)查看方法

# 必須為大寫driver = webdriver.Firefox()driver = webdriver.Chrome()

3)瀏覽器尺寸相關(guān)操作

maximize_window()? ? 最大化get_window_size()? ? 獲取瀏覽器尺寸强挫,打印查看set_window_size()? ? 設(shè)置瀏覽器尺寸,400*400

4)瀏覽器位置相關(guān)操作

get_window_position()? ? 獲取瀏覽器位置set_window_position(x,y)? ? 設(shè)置瀏覽器位置

注意:顯示器以左上角為(0,0),所有的位置操作都是相對于顯示器左上角展開的位移操作薛躬,單位是像素俯渤。

5)瀏覽器的關(guān)閉操作

close()關(guān)閉當前標簽/窗口quit()關(guān)閉所有標簽/窗口

6)頁面請求操作

driver.get(url)請求某個url對應(yīng)的響應(yīng)refresh()刷新頁面操作back()回退到之前的頁面forward()前進到之后的頁面

6. selenium獲取斷言信息

1 什么是斷言

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

2 獲取斷言信息的操作

current_url? ? 獲取當前訪問頁面url

title? ? ? 獲取當前瀏覽器標題

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

print(driver.current_url)print(driver.title)print(driver.page_source)

get_screenshot_as_png()? ? 保存圖片

data=driver.get_screenshot_as_png()withopen("a.png","wb")asf:f.write(data)

get_screenshot_as_file(file) 直接保存

driver.get_screenshot_as_file("b.png")

selenium八大元素定位

8. 元素的操作

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

element = driver.find_element_by_xxx(value)

1)點擊和輸入

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

清空/輸入操作:

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

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

9. 彈出框操作

進入到彈出框中

driver.switch_to.alert

接收警告

accept()

解散警告

dismiss()

發(fā)送文本到警告框

send_keys(data)

用法:driver.switch_to.alert.accept()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末价卤,一起剝皮案震驚了整個濱河市劝萤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌慎璧,老刑警劉巖床嫌,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異胸私,居然都是意外死亡厌处,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門岁疼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阔涉,“玉大人缆娃,你說我怎么就攤上這事」迮牛” “怎么了贯要?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長椭住。 經(jīng)常有香客問我崇渗,道長,這世上最難降的妖魔是什么京郑? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任宅广,我火速辦了婚禮,結(jié)果婚禮上些举,老公的妹妹穿的比我還像新娘跟狱。我一直安慰自己,他們只是感情好户魏,可當我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布驶臊。 她就那樣靜靜地躺著,像睡著了一般绪抛。 火紅的嫁衣襯著肌膚如雪资铡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天幢码,我揣著相機與錄音笤休,去河邊找鬼。 笑死症副,一個胖子當著我的面吹牛店雅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贞铣,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼闹啦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辕坝?” 一聲冷哼從身側(cè)響起窍奋,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酱畅,沒想到半個月后琳袄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡纺酸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年窖逗,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片餐蔬。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡碎紊,死狀恐怖佑附,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仗考,我是刑警寧澤音同,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站痴鳄,受9級特大地震影響瘟斜,放射性物質(zhì)發(fā)生泄漏缸夹。R本人自食惡果不足惜痪寻,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虽惭。 院中可真熱鬧橡类,春花似錦、人聲如沸芽唇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽匆笤。三九已至研侣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炮捧,已是汗流浹背庶诡。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留咆课,地道東北人末誓。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像书蚪,于是被迫代替她去往敵國和親喇澡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,619評論 2 354

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

  • 十八單元 自動化持續(xù)繼承 1.概念 1.持續(xù)集成:持續(xù)的將分支集成到主干 2.持續(xù)交付:持續(xù)將此版本提交給質(zhì)量團隊...
    小董小董閱讀 416評論 0 0
  • 一殊校、什么是框架 1.框架 框架(framework)是一個框子 -- 指其約束性晴玖,也是一個架子 -- 指其支撐性,...
    藝術(shù)家123閱讀 189評論 0 0
  • 一为流、測試筆記 1.軟件定義:數(shù)據(jù)+指令+文檔 2. 軟件分類: 場景:工具...
    _想睡覺_閱讀 337評論 0 0
  • 一呕屎、概念 互聯(lián)網(wǎng)軟件的開發(fā)和發(fā)布,已經(jīng)形成了一套標準流程艺谆,最重要的組成部分就是持續(xù)集成(Continuous in...
    __65a0閱讀 813評論 0 4
  • 自動化 一榨惰、概念 互聯(lián)網(wǎng)軟件的開發(fā)和發(fā)布,已經(jīng)形成了一套標準流程静汤,最重要的組成部分就是持續(xù)集成(Continuou...
    G_eebd閱讀 331評論 0 0