什么是Selenium
Selenium是一款著名的web應(yīng)用程序測(cè)試工具,它能通過(guò)在瀏覽器中模擬用戶的動(dòng)作來(lái)完成測(cè)試,其api支持java,c#,python,ruby,php,perl,javascript這些主流編程語(yǔ)言和腳本語(yǔ)言。Selenium還支持IE,火狐,和chrome等主流瀏覽器。
PowerShell 如何直接調(diào)用Selenium
PowerShell直接調(diào)用Selenium,其實(shí)類似PowerShell調(diào)用C#方法。以IE瀏覽器為例,至少需要具備兩個(gè)文件:
1.IEDriverServer.exe 啟動(dòng)IE代理,模擬用戶操作
2.WebDriver.dll 暴露API給用戶,對(duì)瀏覽器進(jìn)行控制
純PowerShell調(diào)用Selenium的例子
復(fù)制代碼 代碼如下:
Add-Type -Path .\WebDriver.dll
$SeNS='OpenQA.Selenium'
# 初始化IE驅(qū)動(dòng)實(shí)例
$ieDriver= New-Object "$SeNS.IE.InternetExplorerDriver"
$nav=$ieDriver.Navigate()
$nav.GoToUrl('https://www.jb51.net')
# 設(shè)置文本框的值
$search=$ieDriver.FindElementById('s')
$search.SendKeys('測(cè)試框架')
# 提交表單
$search.Submit()
$ieDriver.FindElementByClassName('class')
$ieDriver.FindElementById('id')
$ieDriver.FindElementByLinkText(' a link')
$ieDriver.FindElementByPartialLinkText(' powershell')
$ieDriver.FindElementByName('username')
$ieDriver.FindElementByCssSelector('')
# 截屏并保存
$screenshot=$ieDriver.GetScreenshot()
[io.file]::WriteAllBytes('d:\test\a.jpg',$screenshot.AsByteArray)
# 關(guān)閉IE進(jìn)程
$ieDriver.Quit()
為什么要使用Selenium
看了上面的調(diào)用,有的哥們要開始質(zhì)疑了這里面主要的方法是:找element。和InternetExplorer.Application中的Html Document類中的關(guān)鍵方法類似啊,byid,byName,byClass,ByTag。這么想,沒錯(cuò)。
但是經(jīng)本人測(cè)試,如果web頁(yè)面稍顯復(fù)雜,InternetExplorer.Application中的除了getElementById可以勉強(qiáng)接受,其它的方法慢的一塌糊涂。而Selenium卻表現(xiàn)非常良好。
另外Selenium支持css selector查找結(jié)點(diǎn),這無(wú)疑是最給力的了,讓jquery也投入戰(zhàn)斗。
最后一點(diǎn)當(dāng)然是Selenium對(duì)于瀏覽器的兼容性優(yōu)勢(shì)了。
借助Selenium PowerShell eXtensions
這是一個(gè)對(duì)Selenium進(jìn)行封裝的PowerShell開源擴(kuò)展工具,如果你覺得不爽,也可以自己重構(gòu)或者直接重寫。代碼托管在:
1.GitHub(http://www.pstips.net/goto/https://github.com/apetrovskiy/STUPS)
2.Codeplex(http://www.pstips.net/goto/http://sepsx.codeplex.com/)
您可能感興趣的文章:- python基于Selenium的web自動(dòng)化框架
- selenium跳過(guò)webdriver檢測(cè)并模擬登錄淘寶
- selenium+python自動(dòng)化測(cè)試之使用webdriver操作瀏覽器的方法
- Selenium(Python web測(cè)試工具)基本用法詳解
- Selenium Webdriver實(shí)現(xiàn)截圖功能的示例
- selenium高效應(yīng)對(duì)Web頁(yè)面元素刷新的實(shí)例講解
- java selenium 常見web UI 元素操作及API使用
- Selenium webdriver添加cookie實(shí)現(xiàn)過(guò)程詳解