量角器5.1.1 selenium-webdriver版本不一致

时间:2017-03-10 16:14:24

标签: selenium protractor

我最近升级到了Protractor 5.1.1,在通过browser.manage()设置Cookie时遇到了一些问题.addCookie()

在Selenium-webdriver的版本2和3之间,API已经发生变化,期望一个对象而不是之前的2..6参数。当我对我的代码进行更改以使用该对象时,typescript编译器抱怨说它需要2..6个参数。

老pi:

browser.manage().addCookie('cookieName',  'cookieVal');

新api:

browser.manage().addCookie({name:'cookieName', value: 'cookieVal'});

我认为这是因为量角器v5.1.1的package.json中的@ types / selenium-webdriver指向版本2.53.39。同一个package.json引用的实际selenium-webdriver的版本是3.0.1。

这应该是相同的值吗?是否有其他人遇到过这方面的问题?

2 个答案:

答案 0 :(得分:2)

是的,这种情况正在发生,因为当时没有写出类型定义。

的解决方法

现在是解决方法:

scene

我们将browser.manage返回的选项对象设置为local cloud = require("objects.Cloud") local maxScrollRate = 4 local cloud1 = cloud:new( 100, 50, 1 + math.random( maxScrollRate ) ) cloud1.img.x = 200 cloud1.img.y = 200 sceneGroup:insert(cloud1.img) local cloud2 = cloud:new( 100, 50, 1 + math.random( maxScrollRate ) ) cloud2.img.x = 100 cloud2.img.y = 400 sceneGroup:insert(cloud2.img) 。然后我们可以给它(browser.manage() as any).addCookie({name:'cookieName', value: 'cookieVal'}); 方法。

OR

升级定义

您可以将@ types / selenium-webdriver类型定义升级到版本3。

答案 1 :(得分:0)

我有同样的问题!我知道@ types / selenium-driver现在已更新到3.0.0版。

我没有幸运,但您可以尝试直接安装它(即 npm install --save-dev @ types / selenium-webdriver )并将其添加到您的列表中tsconfig.json文件中的类型(即类型:[" selenium-webdriver" ]。