PowerShell調(diào)用Web測試工具Selenium實例
什么是Selenium
Selenium是一款著名的web應(yīng)用程序測試工具,它能通過在瀏覽器中模擬用戶的動作來完成測試,其api支持java,c#,python,ruby,php,perl,javascript這些主流編程語言和腳本語言。Selenium還支持IE,火狐,和chrome等主流瀏覽器。
PowerShell 如何直接調(diào)用Selenium
PowerShell直接調(diào)用Selenium,其實類似PowerShell調(diào)用C#方法。以IE瀏覽器為例,至少需要具備兩個文件:
1.IEDriverServer.exe 啟動IE代理,模擬用戶操作
2.WebDriver.dll 暴露API給用戶,對瀏覽器進行控制
純PowerShell調(diào)用Selenium的例子
Add-Type -Path .\WebDriver.dll
$SeNS='OpenQA.Selenium'
# 初始化IE驅(qū)動實例
$ieDriver= New-Object "$SeNS.IE.InternetExplorerDriver"
$nav=$ieDriver.Navigate()
$nav.GoToUrl('http://m.fzitv.net')
# 設(shè)置文本框的值
$search=$ieDriver.FindElementById('s')
$search.SendKeys('測試框架')
# 提交表單
$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進程
$ieDriver.Quit()
為什么要使用Selenium
看了上面的調(diào)用,有的哥們要開始質(zhì)疑了這里面主要的方法是:找element。和InternetExplorer.Application中的Html Document類中的關(guān)鍵方法類似啊,byid,byName,byClass,ByTag。這么想,沒錯。
但是經(jīng)本人測試,如果web頁面稍顯復(fù)雜,InternetExplorer.Application中的除了getElementById可以勉強接受,其它的方法慢的一塌糊涂。而Selenium卻表現(xiàn)非常良好。
另外Selenium支持css selector查找結(jié)點,這無疑是最給力的了,讓jquery也投入戰(zhàn)斗。
最后一點當然是Selenium對于瀏覽器的兼容性優(yōu)勢了。
借助Selenium PowerShell eXtensions
這是一個對Selenium進行封裝的PowerShell開源擴展工具,如果你覺得不爽,也可以自己重構(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/)
相關(guān)文章
PowerShell中使用正則和ValidateSet驗證參數(shù)合法性
這篇文章主要介紹了PowerShell中使用正則和ValidateSet驗證參數(shù)合法性,本文分別給出了驗證實例,講解如何驗證參數(shù)的正確性,需要的朋友可以參考下2015-04-04
powershell解決win10開始菜單和通知中心無法打開
這篇文章主要介紹了powershell解決win10開始菜單和通知中心無法打開的相關(guān)資料,需要的朋友可以參考下2015-10-10
基于PowerShell在Ubuntu系統(tǒng)的使用詳解
下面小編就為大家分享一篇基于PowerShell在Ubuntu系統(tǒng)的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
PowerShell中字符串使用單引號和雙引號的區(qū)別
這篇文章主要介紹了PowerShell中字符串使用單引號和雙引號的區(qū)別,大家可能會經(jīng)常遇到這個問題,需要的朋友可以參考下2014-08-08
PowerShell中運行CMD命令的技巧總結(jié)(解決名稱沖突和特殊字符等問題)
這篇文章主要介紹了PowerShell中運行CMD命令的技巧總結(jié)(解決名稱沖突和特殊字符等問題),需要的朋友可以參考下2014-05-05
探索PowerShell(十五) 引號與轉(zhuǎn)義字符
在PowerShell中,單引號與雙引號有著不同的功能和作用。引號的使用規(guī)則往往跟變量的代換,以及特殊字符有關(guān)2012-12-12
PowerShell腳本實現(xiàn)檢測網(wǎng)絡(luò)內(nèi)主機類型
這篇文章主要介紹了PowerShell腳本實現(xiàn)檢測網(wǎng)絡(luò)內(nèi)主機類型,本文腳本基本功能可以實現(xiàn)判斷主機操作系統(tǒng)類型,如果是域內(nèi)的主機可以獲取主機的硬件參數(shù)和性能參數(shù),并判斷是否存在網(wǎng)絡(luò)設(shè)備,需要的朋友可以參考下2014-12-12
PowerShell中使用Get-Alias命令獲取cmdlet別名例子
這篇文章主要介紹了PowerShell中使用Get-Alias命令獲取cmdlet別名的例子,PowerShell中兼容DOS下和Linux下的很多命令,這些都是靠別名來實現(xiàn)的,需要的朋友可以參考下2014-08-08

