51Testing软件测试论坛

标题: 关于selinium中的sendKeys()隔几秒发送一个字符 [打印本页]

作者: keyantouru    时间: 2015-3-18 16:23
标题: 关于selinium中的sendKeys()隔几秒发送一个字符
rt,我想要将一个字符串“abcde”写入文本框,但是sendKeys()隔5秒才发一个字符,比如‘a’,如何快速输入??新人上路,求指教。。谢谢了。
作者: 赵佳乐SMILE    时间: 2015-3-19 08:55
正常都是快速的啊  是不是重写了sendkeys ? 还是代码前后有特殊的处理
作者: keyantouru    时间: 2015-3-19 16:45
赵佳乐SMILE 发表于 2015-3-19 08:55
正常都是快速的啊  是不是重写了sendkeys ? 还是代码前后有特殊的处理

没有啊,只是封装了一下,也没有什么特殊处理啊。
C:\Users\keyantouru\Desktop\QQ截图20150319171024
C:\Users\keyantouru\Desktop\QQ截图20150319171120
作者: keyantouru    时间: 2015-3-19 18:05
赵佳乐SMILE 发表于 2015-3-19 08:55
正常都是快速的啊  是不是重写了sendkeys ? 还是代码前后有特殊的处理
  1. package seliniumtest;

  2. import org.openqa.selenium.WebDriver;
  3. import org.openqa.selenium.ie.InternetExplorerDriver;
  4. import org.testng.annotations.AfterTest;
  5. import org.testng.annotations.BeforeTest;
  6. import org.testng.annotations.Test;

  7. import tools.Data;
  8. import tools.Tools;


  9. public class NewTest {
  10.    
  11.     WebDriver driver = new InternetExplorerDriver();
  12.   @Test
  13.   public void f() {
  14.       Tools tool = new Tools();
  15.       driver.get(Data.url);
  16.       
  17.    // 输入员工账号和密码
  18.       tool.inputTextById(driver, "systemUserCode", Data.name);
  19.       tool.inputTextById(driver, "password", Data.secret);
  20.   }
  21.   @BeforeTest
  22.   public void beforeTest() {
  23.   }

  24.   @AfterTest
  25.   public void afterTest() {
  26.   }

  27. }
复制代码



  1. package tools;

  2. import org.openqa.selenium.By;
  3. import org.openqa.selenium.WebDriver;
  4. import org.openqa.selenium.WebElement;

  5. public class Tools {
  6.     /*
  7.      * 通过元素的Id锁定并点击按钮 elementId是所点击元素的Id,text是需要输入的内容
  8.      */
  9.     public void inputTextById(WebDriver driver, String elementId, String text) {
  10.         WebElement input = driver.findElement(By.id(elementId));
  11.         input.sendKeys(text);
  12.     }

  13. }
复制代码

作者: zzhengjian    时间: 2015-3-19 22:28
因为你用了IE, 其他的浏览器是正常的,你一定要用IE的话,建议你用Grid模式远程打开,速度会好很多。或者说你换一台机器试试运气。
作者: keyantouru    时间: 2015-3-20 13:57
zzhengjian 发表于 2015-3-19 22:28
因为你用了IE, 其他的浏览器是正常的,你一定要用IE的话,建议你用Grid模式远程打开,速度会好很多。或者说 ...

那和IE版本有关系吗?我现在用的是IE10?
作者: keyantouru    时间: 2015-3-20 16:31
zzhengjian 发表于 2015-3-19 22:28
因为你用了IE, 其他的浏览器是正常的,你一定要用IE的话,建议你用Grid模式远程打开,速度会好很多。或者说 ...

我换成了IE9了,sendKeys()可以将字符串一次性输出了。但还是想知道有没有什么简单的办法在IE10中可以让sendKeys()正常输出。。。
作者: zzhengjian    时间: 2015-3-20 22:38
用Selenium Grid 吧,可以解决你的问题的。你可以参考下这篇文章blog.csdn.net/five3/article/details/9428655, 搭建个grid 环境
作者: keyantouru    时间: 2015-3-21 15:19
zzhengjian 发表于 2015-3-20 22:38
用Selenium Grid 吧,可以解决你的问题的。你可以参考下这篇文章blog.csdn.net/five3/article/details/9428 ...

OK,回头我升级到IE10搭个环境。谢谢!
作者: lacusmi    时间: 2015-11-5 17:25
楼主,你看一下你的IEDriverServer.exe是不是64位的,我也遇到了这样的问题,换成32位的IEDriverServer.exe,瞬间速度快了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2