什么是Selenium
Selenium是一款著名的web應用程序測試工具,它能通過在瀏覽器中模擬用戶的動作來完成測試,其api支持java,c#,python,ruby,php,perl,javascript這些主流編程語言和腳本語言。Selenium還支持IE,火狐,和chrome等主流瀏覽器。
PowerShell 如何直接調用Selenium
PowerShell直接調用Selenium,其實類似PowerShell調用C#方法。以IE瀏覽器為例,至少需要具備兩個文件:
1.IEDriverServer.exe 啟動IE代理,模擬用戶操作
2.WebDriver.dll 暴露API給用戶,對瀏覽器進行控制
純PowerShell調用Selenium的例子
復制代碼 代碼如下:
Add-Type -Path .\WebDriver.dll
$SeNS='OpenQA.Selenium'
# 初始化IE驅動實例
$ieDriver= New-Object "$SeNS.IE.InternetExplorerDriver"
$nav=$ieDriver.Navigate()
$nav.GoToUrl('https://www.jb51.net')
# 設置文本框的值
$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)
# 關閉IE進程
$ieDriver.Quit()
為什么要使用Selenium
看了上面的調用,有的哥們要開始質疑了這里面主要的方法是:找element。和InternetExplorer.Application中的Html Document類中的關鍵方法類似啊,byid,byName,byClass,ByTag。這么想,沒錯。
但是經本人測試,如果web頁面稍顯復雜,InternetExplorer.Application中的除了getElementById可以勉強接受,其它的方法慢的一塌糊涂。而Selenium卻表現(xiàn)非常良好。
另外Selenium支持css selector查找結點,這無疑是最給力的了,讓jquery也投入戰(zhàn)斗。
最后一點當然是Selenium對于瀏覽器的兼容性優(yōu)勢了。
借助Selenium PowerShell eXtensions
這是一個對Selenium進行封裝的PowerShell開源擴展工具,如果你覺得不爽,也可以自己重構或者直接重寫。代碼托管在:
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自動化框架
- selenium跳過webdriver檢測并模擬登錄淘寶
- selenium+python自動化測試之使用webdriver操作瀏覽器的方法
- Selenium(Python web測試工具)基本用法詳解
- Selenium Webdriver實現(xiàn)截圖功能的示例
- selenium高效應對Web頁面元素刷新的實例講解
- java selenium 常見web UI 元素操作及API使用
- Selenium webdriver添加cookie實現(xiàn)過程詳解