PowerShell调用Web测试工具Selenium实例

所属分类: 脚本专栏 / PowerShell 阅读数: 1051
收藏 0 赞 0 分享

什么是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却表现非常良好。
另外Selenium支持css selector查找结点,这无疑是最给力的了,让jquery也投入战斗。
最后一点当然是Selenium对于浏览器的兼容性优势了。

借助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/)

更多精彩内容其他人还在看

Windows Powershell排序和分组管道结果

本文通过实例,详细介绍了Powershell如何对管道结果进行排序和分组,非常的实用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Windows Powershell过滤管道结果

通过管道可以过滤某些对象和对象的属性,这个功能很实用,因为很多时候我们并不是对所有的结果感兴趣,可能只会对某些结果感兴趣。
收藏 0 赞 0 分享

Windows Powershell分析和比较管道结果

这篇文章主要介绍了Windows Powershell分析和比较管道结果,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell小技巧--将文件夹中的大文件分成若干份

这篇文章主要介绍了使用Powershell将文件夹中的大文件分成若干份的一段代码分享,非常实用,大家也可以根据需求自己来稍微调整下
收藏 0 赞 0 分享

Powershell小技巧--远程对比服务配置

这篇文章主要介绍了使用Powershell远程对比服务配置的方法,大家可以推广下获取服务器其他参数进行对比,希望对大家能有所帮助
收藏 0 赞 0 分享

Windows Powershell导出管道结果

本文主要讲诉了PowerShell的输出命令详细解释,以及导出管道结果的部分示例,非常有用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Windows Powershell扩展类型系统

本文主要详细介绍了集中将对象转换成文本的方法,并附上示例说明,非常的实用,有需要的朋友可以参考下
收藏 0 赞 0 分享

Windows Powershell对象=属性+方法

从今天开始,我们这个系列的教程进入到讲诉使用对象的阶段,那么本阶段的第一篇还是先来熟悉下概念,简单的说对象=属性+方法
收藏 0 赞 0 分享

Windows Powershell属性:描述对象是什么

既然上文说明了对象=属性+方法,那么本文我们就先来探讨下属性。先从属性的概念入手,接着通过属性中包含对象、只读属性和读写属性、属性的类型、查看所有属性这4个方面详细向我们展示了对象。有需要的朋友展示下
收藏 0 赞 0 分享

Windows Powershell方法(对象能做什么)

方法定义了一个对象可以做什么事情。当你把一个对象输出在控制台时,它的属性可能会被转换成可视的文本。但是它的方法却不可见。
收藏 0 赞 0 分享
查看更多