Dmi*_*kov 4 selenium sendkeys cucumber watir-webdriver
我正在使用Cucumber,watir-webdriver,page-object和jruby.我正在页面类中编写一个方法,将值输入文本区域.我在page-objectgem中使用生成的方法,在引擎盖下,调用Watir-Webdriver set方法,然后调用send_keys元素.
无论如何,对我来说问题是我正在尝试添加一个非常大的字符串(为了测试可验证表单对象的最大大小的东西).这是4000个字符,需要花费相当多的时间才能进入.
如果有一种方法可以将整个字符串一次粘贴到文本区域,那就太棒了.有没有办法用我手边的技术做到这一点?这些是.. JRuby,watir-webdriver,page-object(它真的只委托给watir-webdriver).我想在幕后它是selenium-webdriver,它在任何情况下都在进行浏览器驱动程序交互.
到目前为止,我还没有找到最终使用send_keys的方法,它基本上一次发送一个键击,这就是为什么一个巨大的字符串是一个痛苦的原因.
您可以使用直接设置字段的值execute_script.
给出一个带有textarea的页面:
<html>
<body>
<textarea></textarea>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
输入textarea set需要6-9秒(使用Firefox/Chrome):
input = 'a' * 4000
browser.textarea.set(input)
Run Code Online (Sandbox Code Playgroud)
但是,通过使用execute_script直接设置值,它只需要0.2秒:
input = 'a' * 4000
field = browser.textarea
browser.execute_script('arguments[0].value = arguments[1];', field, input)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1677 次 |
| 最近记录: |