Behat测试浏览器不向下滚动以查找元素

时间:2016-02-10 15:07:47

标签: selenium selenium-webdriver behat

当我运行我的behat测试时,它按预期打开Firefox。但是它没有找到例如一个按钮,因为它不会在页面中向下滚动。

但是当我通过按ctrl + - 快速缩小浏览器时,我可以看到突然向下滚动并找到需要按下的按钮。

我不知道这个问题的原因是什么。任何人都可以给出指示吗?

错误消息:

在线:

And I press "Add to cart"
  

(元素不可点击(407.6000061035156,   15.699996948242188)。其他元素将收到点击:   命令持续时间或超时:86毫秒构建信息:版本:   '2.51.0',修订版:'1af067d',时间:'2016-02-05 19:15:17'系统   info:host:'LBNL03572',ip:'10 .38.188.18',os.name:'Windows 7',   os.arch:'x86',os.version:'6.1',java.version:'1.7.0_17'Session   ID:948e4f65-f1bc-492b-9c6d-07735d09b59f驱动程序信息:   org.openqa.selenium.firefox.FirefoxDriver功能   [{platform = WINDOWS,acceptSslCerts = true,javascriptEnabled = true,   cssSelectorsEnabled = true,databaseEnabled = true,browserName = firefox,   handlesAlerts = true,nativeEvents = false,webStorageEnabled = true,   rotating = false,locationContextEnabled = true,   applicationCacheEnabled = true,takesScreenshot = true,version = 44.0}])

更新

我认为这是因为在页面顶部有一个菜单栏,位置绝对/固定在顶部,高度为35px。我认为在“正常”状态下,它会向下滚动,但按钮本身位于菜单栏下方。所以它无法点击它,实际上它试图点击菜单栏div。当我缩小按钮是可点击的或其他东西时。 我可以强制它滚动更多或什么?

更新2:

我现在使用https://gist.github.com/MKorostoff/c94824a467ffa53f4fa9

上共享的功能

所以在我按下按钮之前我滚动到它

And I scroll "edit-submit" into view
And I press "Add to cart"

现在它可以工作,因为它向下滚动,直到按钮出现在页面底部。我认为默认情况下behat使用向下滚动方法。因此,当它滚动时,一步一步,按钮将位于顶部。 但我认为这不是一个好的解决方案。因为这意味着每次我想按下按钮时我首先需要将该滚动添加到行。应该有一种方法可以自动正确滚动并将顶部的固定位置菜单栏考虑在内。

0 个答案:

没有答案