我正在使用Firefox 29和WebDriver java 2.41.0绑定来自动化测试场景。有一个方案是输入一个整数到一个输入框,它与Firefox 28一起工作,现在没有使用v29,即最新的FF版本。我为此写的代码是:
int inputString = 123456;
driver.FindElement(By.Id("tinymce")).SendKeys(inputString);
请帮我解决这个问题。
答案 0 :(得分:2)
这是此问题的结果:
https://code.google.com/p/selenium/issues/detail?id=7291
通过Selenium代码中的此修订修复:
https://code.google.com/p/selenium/source/detail?r=afde40cbbf5c
答案 1 :(得分:1)
下面的快速测试对我有用。我理解JS不是进行浏览器模拟的正确方法,因为他们使用浏览器本机api,所以应该始终首先使用webdriver方法,但是认为它会在硒中修复bug时解锁你
DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox();
desiredCapabilities.setCapability(CapabilityType.HAS_NATIVE_EVENTS,true);
WebDriver driver = new FirefoxDriver(desiredCapabilities);
driver.get("http://yizeng.me/2014/01/31/test-wysiwyg-editors-using-selenium-webdriver/");
WebElement frame = driver.findElement(By.id("tinymce-editor_ifr"));
driver.switchTo().frame(frame);
WebElement body = driver.findElement(By.id("tinymce"));
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].innerHTML = '<h1>Heading</h1>Hello There'",body);
答案 2 :(得分:0)
您可以查看以下几点
答案 3 :(得分:0)
在向框中发送值之前我做的一件事就是清除它,同时,我发送的值总是一个字符串,解析应该由页面/代码完成,因为你需要验证用户输入了什么。 但我同意skv,我们需要看到实际错误被抛出。