小编Kyl*_*ley的帖子

使用Capybara和Selenium自动滚动按钮进入视图

上个月(2013年6月)的某个时候,我们的几个Capybara测试开始失败主要是因为他们试图点击的按钮不在视野中.理想情况下,我想弄清楚改变了什么.我们目前正在使用selenium-webdriver 2.33,但我已经尝试回到2.29但它仍然无效.我们目前只针对Firefox运行,也许是因为新版本的Firefox.

除此之外,我无法弄清楚如何将按钮滚动到视图中.从我收集的内容来看,我可以使用scrollIntoView,但不知道如何在Capybara步骤中调用它.我试过以下变化:

 Capybara.current_session.driver.execute_script("arguments[0].scrollIntoView(true;)", find_button(button).native)
Run Code Online (Sandbox Code Playgroud)

但没有运气因为find_button本身不起作用.

注意:我们根据按钮的文字进行选择.可以根据ID进行选择,但需要对UI测试进行大量更改,因此我们希望避免使用它.

capybara selenium-webdriver

10
推荐指数
1
解决办法
1万
查看次数

使用 Enzyme.mount 的基于 <tr> 的组件的 validateDOMNesting 警告

我有一个以 a<tr>作为基本元素的组件,它呈现得很好。但是当我尝试使用 测试它时mount,我收到一个警告:

Warning: validateDOMNesting(...): <tr> cannot appear as a child of <div>.

这是一个复制品:

import React, {Component} from 'react';
import {mount} from 'enzyme';

class Foo extends Component {
  render() {
    return (
      <tr>
        <td>moo</td>
      </tr>
    )
  }
}

it('should not fail', () => {
  const wrapper = mount(<Foo />);
  console.log(wrapper.html());

});
Run Code Online (Sandbox Code Playgroud)

在对 的调用中mount,我可以用 包裹组件<table><tbody><Foo /></tbody></table>以使警告消失。但感觉应该有另一种方法来做到这一点,因为此警告不会发生shallow在应用程序本身中。

这是与:

  • 反应 16.5.2
  • 酶 3.7.0

reactjs enzyme

5
推荐指数
1
解决办法
478
查看次数

标签 统计

capybara ×1

enzyme ×1

reactjs ×1

selenium-webdriver ×1