程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用selenium测试Reactjs Web应用程序?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用SELEnium测试Reactjs Web应用程序??

开发过程中遇到如何使用SELEnium测试Reactjs Web应用程序?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用SELEnium测试Reactjs Web应用程序?的解决方法建议,希望对你解决如何使用SELEnium测试Reactjs Web应用程序?有所启发或帮助;

在React Testutils插件中尝试模拟:

React.addons.Testutils.Simulate.change(document.getElementByID('your-ID-here'))

参见http://facebook.github.io/react/docs/test- utils.HTML#simulate

它还要求您切换到包含插件的React文件:

解决方法

我有一个使用React的网络应用程序,我正在尝试使用SELEnium
RC创建一些测试。我发现,当SELEnium更改字段的值时,不会正确触发事件。我知道这是一个典型的问题,正如WebDriver常见问题所证明的那样,我已经尝试了很多不同的事情,例如使用onFocus而不是onChange并使用sendKeys()和type()确保焦点进出,以编程方式调用该事件以及我可以在网上找到的任何其他建议,但是我无法使其正常运行。

作为我要尝试做的一个简单示例,我删除了注释框的react示例。我所拥有的是一个textarea输入框和一个div,应该使用textarea的值进行更新。SELEnium可以更新文本区域,但是当它完成时,div不会改变。

这是我的reactjs代码:

/** @jsx React.DOM */

var Markdowneditor = React.createClass({
  geTinitialState: function() {
    return {value: 'Original Text'};
  },handleChange: function() {
    this.setState({value: this.refs.textarea.getDOMNode().value});
  },render: function() {
    return (
      <div className="Markdowneditor">
        <h3>Input</h3>
        <textarea
          onChange={this.handleChangE}
          ref="textarea"
          DefaultValue={this.state.value} />
        <h3>Output</h3>
        <div
          className="content"
          id="content2",dangerouslySeTinnerHTML={{
            __html: this.state.value
          }}
        />
      </div>
    );
  }
});

React.renderComponent(<Markdowneditor />,document.getElementById('content'));

这是我当前的SELEnium测试用例:

import com.thoughtworks.SELEnium.*;
import org.junit.After;
import org.junit.before;
import org.junit.Test;
import static org.junit.Assert.*;
import java.util.regex.Pattern;
import java.util.Properties;
import junit.framework.TESTCase;

public class textTest extends TESTCase {

    protected SELEnium SELEnium;

    @Before
    public void setUp() throws Exception {
        Properties sysProps = System.getProperties();
        String browser = sysProps.getProperty("browser.property");
        SELEnium = new DefaultSELEnium("localhost",4444,"*chrome","http://localhost/");
        SELEnium.start();
    }

    @After
    public void tearDown() throws Exception {
        SELEnium.stop();
    }

    @Test
    public void testText() throws Exception {
        SELEnium.open("/reactTest/index.html");
        assertEquals("Original Text",SELEnium.getText("id=content2"));
        SELEnium.focus("id=content2");
        SELEnium.type("css=textarea[value=\"Original Text\"]","xxxxx");
        SELEnium.focus("id=content");
        SELEnium.runScript("$('#tatest').trigger('change')");
        assertEquals("xxxxxOriginal Text",SELEnium.getText("id=content2"));
        Thread.sleep(80000);
    }

}

编辑:现在可以在https://github.com/ilionblaze/reactTest获得代码

必须有某种方法可以使这项工作!

大佬总结

以上是大佬教程为你收集整理的如何使用selenium测试Reactjs Web应用程序?全部内容,希望文章能够帮你解决如何使用selenium测试Reactjs Web应用程序?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。