PowerShell調(diào)用Web測(cè)試工具Selenium實(shí)例
什么是Selenium
Selenium是一款著名的web應(yīng)用程序測(cè)試工具,它能通過(guò)在瀏覽器中模擬用戶(hù)的動(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í)類(lèi)似PowerShell調(diào)用C#方法。以IE瀏覽器為例,至少需要具備兩個(gè)文件:
1.IEDriverServer.exe 啟動(dòng)IE代理,模擬用戶(hù)操作
2.WebDriver.dll 暴露API給用戶(hù),對(duì)瀏覽器進(jìn)行控制
純PowerShell調(diào)用Selenium的例子
Add-Type -Path .\WebDriver.dll
$SeNS='OpenQA.Selenium'
# 初始化IE驅(qū)動(dòng)實(shí)例
$ieDriver= New-Object "$SeNS.IE.InternetExplorerDriver"
$nav=$ieDriver.Navigate()
$nav.GoToUrl('http://www.dhdzp.com')
# 設(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)用,有的哥們要開(kāi)始質(zhì)疑了這里面主要的方法是:找element。和InternetExplorer.Application中的Html Document類(lèi)中的關(guān)鍵方法類(lèi)似啊,byid,byName,byClass,ByTag。這么想,沒(méi)錯(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ì)于瀏覽器的兼容性?xún)?yōu)勢(shì)了。
借助Selenium PowerShell eXtensions
這是一個(gè)對(duì)Selenium進(jìn)行封裝的PowerShell開(kāi)源擴(kuò)展工具,如果你覺(jué)得不爽,也可以自己重構(gòu)或者直接重寫(xiě)。代碼托管在:
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 常見(jiàn)web UI 元素操作及API使用
- Selenium webdriver添加cookie實(shí)現(xiàn)過(guò)程詳解
相關(guān)文章
PowerShell中使用正則和ValidateSet驗(yàn)證參數(shù)合法性
這篇文章主要介紹了PowerShell中使用正則和ValidateSet驗(yàn)證參數(shù)合法性,本文分別給出了驗(yàn)證實(shí)例,講解如何驗(yàn)證參數(shù)的正確性,需要的朋友可以參考下2015-04-04
powershell解決win10開(kāi)始菜單和通知中心無(wú)法打開(kāi)
這篇文章主要介紹了powershell解決win10開(kāi)始菜單和通知中心無(wú)法打開(kāi)的相關(guān)資料,需要的朋友可以參考下2015-10-10
基于PowerShell在Ubuntu系統(tǒng)的使用詳解
下面小編就為大家分享一篇基于PowerShell在Ubuntu系統(tǒng)的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別
這篇文章主要介紹了PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別,大家可能會(huì)經(jīng)常遇到這個(gè)問(wèn)題,需要的朋友可以參考下2014-08-08
PowerShell中運(yùn)行CMD命令的技巧總結(jié)(解決名稱(chēng)沖突和特殊字符等問(wèn)題)
這篇文章主要介紹了PowerShell中運(yùn)行CMD命令的技巧總結(jié)(解決名稱(chēng)沖突和特殊字符等問(wèn)題),需要的朋友可以參考下2014-05-05
探索PowerShell(十五) 引號(hào)與轉(zhuǎn)義字符
在PowerShell中,單引號(hào)與雙引號(hào)有著不同的功能和作用。引號(hào)的使用規(guī)則往往跟變量的代換,以及特殊字符有關(guān)2012-12-12
PowerShell腳本實(shí)現(xiàn)檢測(cè)網(wǎng)絡(luò)內(nèi)主機(jī)類(lèi)型
這篇文章主要介紹了PowerShell腳本實(shí)現(xiàn)檢測(cè)網(wǎng)絡(luò)內(nèi)主機(jī)類(lèi)型,本文腳本基本功能可以實(shí)現(xiàn)判斷主機(jī)操作系統(tǒng)類(lèi)型,如果是域內(nèi)的主機(jī)可以獲取主機(jī)的硬件參數(shù)和性能參數(shù),并判斷是否存在網(wǎng)絡(luò)設(shè)備,需要的朋友可以參考下2014-12-12
PowerShell中使用Get-Alias命令獲取cmdlet別名例子
這篇文章主要介紹了PowerShell中使用Get-Alias命令獲取cmdlet別名的例子,PowerShell中兼容DOS下和Linux下的很多命令,這些都是靠別名來(lái)實(shí)現(xiàn)的,需要的朋友可以參考下2014-08-08

