Project Description
The Selenium PowerShell eXtensions project is a port of the well-known Selenium WebDriver framework to PowerShell.

Project state version 0.5.0 (the functionality that is marked as having Unit test is ready):
Functionality Implemented as Unit test Sample
start FF Start-SeFirefox + +
start Chrome Start-SeChrome + +
start IE 32-bit Start-SeInternetExplorer32 + -
start IE 64-bit Start-SeInternetExplorer64 + -
start HTMLDriver Start-SeHTMLDriver - -
stop FF Stop-SeFirefox + +
stop Chrome Stop-SeChrome + +
stop IE Stop-SeInternetExplorer + +
stop HTMLDriver Stop-SeHTMLDriver - -
select a driver Select-SeWebDriver -InstanceName - -
reset test data [SePSX.CurrentData]::ResetData() in progress -
reset test data Reset-SeTestData in progress -
driver.navigate().goToURL(string) Enter-SeURL -URL + +
driver.navigate().forward() Invoke-SeNavigateForward + -
driver.navigate().back() Invoke-SeNavigateBack + -
driver.navigate().refresh() Invoke-SePageRefresh + -
driver.switchto().window(string) Switch-SeToWindow -WindowName in progress -
driver.switchto().alert() Switch-SeToAlert + -
driver.switchto().activeElement() Switch-SeToActiveElement in progress -
driver.switchto().defaultContent() Switch-SeToDefaultContent + -
driver.switchto().frame(int) Switch-SeToFrame -FrameName + -
driver.switchto().frame(string) Switch-SeToFrame -FrameIndex in progress -
driver.switchto().frame(IWebElement) Switch-SeToFrame -FrameElement in progress -
driver.close() Close-SeWebDriverWindow in progress -
driver.manage().Cookies Get-SeWebDriverCookies in progress -
driver.manage().Window Get-SeWebDriverWindow in progress -
driver -> handle of the main window Read-SeWebDriverNativeWindowHandle -MainWindowHandle in progress -
driver -> handles of all browser windows Read-SeWebDriverNativeWindowHandle in progress -
driver.PageSource Read-SeWebDriverPageSource + -
driver.Title Read-SeWebDriverTitle + -
driver.Url Read-SeWebDriverUrl + -
driver.manage().timeout(). ImplicitlyWait(System.TimeSpan) Set-SeWebDriverTimeout -ImplicitlyWaitTimeout in progress -
driver.manage().timeout(). SetPageLoadTimeout(System.TimeSpan) Set-SeWebDriverTimeout -PageLoadTimeout in progress -
driver.manage().timeout(). SetScriptTimeout(System.TimeSpan) Set-SeWebDriverTimeout -ScriptTimeout in progress -
driver -> AutomationElement ConvertTo-SeAutomationElement in progress -
findElement by.Id Get-SeWebElement -Id -First + +
findElement by.ClassName Get-SeWebElement -ClassName -First + -
findElement by.Name Get-SeWebElement -Name -First + -
findElement by.TagName Get-SeWebElement -TagName -First + -
findElement by.LinkText Get-SeWebElement -LinkText -First + -
findElement by.PartialLinkText Get-SeWebElement -PartialLinkText -First + -
findElement by.CSSValue Get-SeWebElement -CssSelector -First + -
findElement by.XPath Get-SeWebElement -XPath -First + -
findElement via JS Get-SeWebElement -JavaScript -First - -
findElements by.Id Get-SeWebElement -Id + -
findElements by.ClassName Get-SeWebElement -ClassName + -
findElements by.Name Get-SeWebElement -Name - -
findElements by.TagName Get-SeWebElement -TagName + -
findElements by.LinkText Get-SeWebElement -LinkText + -
findElements by.PartialLinkText Get-SeWebElement -PartialLinkText + -
findElements by.CSSValue Get-SeWebElement -CssSelector - -
findElements by.XPath Get-SeWebElement -XPath in progress -
findElements via JS Get-SeWebElement -JavaScript - -
element.getParent() Get-SeWebElementParent + -
element.getAncestors() Get-SeWebElementAncestors + -
element.Clear() Clear-SeWebElement + -
element.Click() Invoke-SeWebElementClick + -
element.CSSValue Read-SeWebElementCSSValue in progress -
element.GetAtribute() Read-SeWebElementAttribute -AttributeName + -
element.Displayed Read-SeWebElementDisplayed - -
element.Displayed Wait-SeWebElementIsDisplayed in progress -
element.Enabled Read-SeWebElementEnabled + -
element.Enabled Wait-SeWebElementIsEnabled in progress -
element.Location Read-SeWebElementLocation - -
element.Selected Read-SeWebElementSelected in progress -
element.Size Read-SeWebElementSize - -
element.TagName Read-SeWebElementTagName + -
element.Text Read-SeWebElementText in progress -
element.SendKeys Set-SeWebElementKeys + -
element.Submit() Submit-SeWebElement in progress -
select.FirstSelected Get-SeSelection -FirstSelected + -
select.Selected Get-SeSelection -Selected + -
select.Options Get-SeSelection -All + -
select.DeselectAll() Set-SeSelection -All -Deselect + -
select all Set-SeSelection -All + -
select.SelectByIndex(int) Set-SeSelection -Index + -
select.DeselectByIndex(int) Set-SeSelection -Index -Deselect + -
select.SelectByValue(string) Set-SeSelection -Value + -
select.DeselectByValue(string) Set-SeSelection -Value -Deselect + -
select.SelectByVisibleText(string) Set-SeSelection -VisibleText + -
select.DeselectByVisibleText(string) Set-SeSelection -VisibleText -Deselect + -
actions.MoveToElement(IWebElement) Move-SeCursorToWebElement in progress -
actions.Click(IWebElement) Invoke-SeWebElementClick -Single in progress -
actions.DoubleClick(IWebElement) Invoke-SeWebElementClick -DoubleClick in progress -
actions.ClickAndHold(IWebElement) Invoke-SeWebElementClick -Hold in progress -
actions.ContextClick(IWebElement) Invoke-SeWebElementClick -Right in progress -
actions.Click() Invoke-SeWebElementClick -Here in progress -
alert.Accept() Invoke-SeAlertAccept in progress -
alert.Dismiss() Invoke-SeAlertDismiss in progress -
alert.Text Read-SeAlertText in progress -
alert.SendKeys(string) Set-SeAlertKeys -Text in progress -
PageFactory.InitElements() New-SePageObject in progress -
JavaScriptExecutor.Execute(sting, string[]) Invoke-SeJSExecutor -ScriptCode -ArgumentList in progress -


Source code is visible at github.

Last edited Jan 27, 2013 at 5:57 AM by xinliu, version 62