关于使用powershell操作微软新浏览器Edge完成自动化测试的一个问题


PowerShell交流中心关于使用powershell操作微软新浏览器Edge完成自动化测试的一个问题
0
Arthas Liu asked 8 年 ago

之前使用powershell写了一些使用IE自动化测试的脚本,其核心是建立一个IE的comobject,调用这个object来执行各项操作。

现在要把测试放到Edge的时候有些想不明白的问题。Edge不支持new-object -comobject的创建方式,它需要使用mocrosoft webdrive这个东西,同时powershell要调用这个东西需要安装Selenium。

在Selenium和Microsoft webdrive都安装完成的情况下,使用下面的语句来建立一个Edge的object,然而在创建的时候报错了。

Add-Type -Path “C:\selenium\net40\WebDriver.dll”

$driver=New-Object OpenQA.Selenium.Edge.EdgeDriver(“C:\Program Files (x86)\Microsoft Web Driver”)
$driver.url=”www.google.com”

在第二句的时候,一个Edge空白页被创建了出来,但是紧接着报了这样一个error,窗口就关闭了,思来想去没弄明白,不知道有没有搞过Edge自动化的同学能帮个忙。已经在防火墙入栈规则里允许了所有local port的访问。

PS C:\WINDOWS\system32> $driver = New-Object OpenQA.Selenium.Edge.EdgeDriver(“C:\Program Files (x86)\Microsoft Web Driver”)
Starting server…
Fully qualified URI to listen on: http://localhost:3637/
Waiting for new request…

Received a request for http://localhost:3637/status
Waiting for new request…

Received a request for http://localhost:3637/session
Waiting for new request…

New-Object : Exception calling “.ctor” with “1” argument(s): “unknown error”
At line:1 char:11
+ $driver = New-Object OpenQA.Selenium.Edge.EdgeDriver(“C:\Program File …
+           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [New-Object], MethodInvocationException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

1 Answers
0
Best Answer
Arthas Liu answered 8 年 ago

问题解决了,是下载了一个低版本的windowswebdriver导致的