Selenium Webdriver Actions - 我可以用其他方法替换不推荐使用的暂停方法吗?

标签 selenium selenium-webdriver ui-automation

我注意到在 Selenium Webdriver (http://selenium.googlecode.com/git/docs/api/java/index.html) 中不推荐使用 pause() 方法

暂停确实是一种不好的做法,但是我该如何模拟以下场景呢? :

  • 访问网页
  • 选择呈现为图像的文本(DRM 原因,上面有一个额外的逻辑层)
  • 做点什么...

  • 这里的问题是,如果我执行 moveToElement().clickAndHold().moveToOffset() 得到的实际上是“swype”,那么页面上有这样的功能。我想要的是单击并按住元素,模拟人类行为的一点暂停(100 毫秒绰绰有余)。如果没有 pause(),我看不到另一种方法。有没有?

    最佳答案

    你还没有说你使用什么语言绑定(bind)来编写你的 WebDriver 测试但是在 C# 或 Java 中你可以只使用 Thread.Sleep(100)。我确信在所有其他语言中都有对应的。或者我认为 WebDriverWait laterBy(long durationInMillis) 会和 Thread.Sleep 一样。

    我个人希望尽可能快地执行测试,所以我有一个自定义等待方法,等待元素出现并可见,然后再允许下一步。

    在下面的示例中,thread.sleep 被插入到 sendKeys 和 assertEquals 步骤之间。

          @Before
      public void setUp() throws Exception {
        driver = new FirefoxDriver();
        baseUrl = "https://www.google.co.uk/";
      }
    
      @Test
      public void test1() throws Exception {
        driver.get(baseUrl + "/");
        driver.findElement(By.id("gbqfq")).sendKeys("selenium");
        thread.sleep(100);
        assertEquals("selenium", driver.findElement(By.cssSelector("cite._Pd > b")).getText());
      }
    

    关于Selenium Webdriver Actions - 我可以用其他方法替换不推荐使用的暂停方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23996518/

    相关文章:

    python - 在selenium中使用文本文件交替或逐一搜索

    java - 运行 Cucumber Junit 测试时出错 :Intializationerror

    python - 使用 Python 中的 Selenium Webdriver 获取 td 类的标题

    android - Ant 构建 : unable to locate tools. jar。预计在 C :\Program Files\Java\jre7\lib\tools. jar 中找到它

    java - 如何在 Maven 中使用不同配置运行 UI 测试

    python - selenium.common.exceptions.StaleElementReferenceException : Message: stale element reference: element is not attached to the page document

    java - 使用 Selenium Webdriver 和 Java 滚动 Webelement

    java - 使用selenium上传文件时遇到问题

    java - 无法访问 Selenium 中的元素(缩放和滚动不起作用)

    java - 有没有办法检查Web控制台(例如FireBug)是否以java语言打开?