Webelement.click in selenium

时间:2013-08-26 08:07:36

标签: java selenium

我正在使用selenium为Web应用程序执行UI自动化。

1)我怀疑是

当我使用click()方法时,right_btn.click()是否只是点击right_btn并且出来或者它只是在它移出之前等待基础操作完成? ?

bcoz我读了这个

当我用Google搜索WebElement.click() http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/WebElement.html它说,只要click()涉及打开一个新页面,它就会被阻止但在这里它不会打开一个新页面,而是涉及服务调用。

2)我真正想知道的是什么?

我想知道这实际上是为了计算在UI中执行每个操作所涉及的延迟。有没有办法计算每个UI操作的延迟,就像我们在inspect element中使用chrome时看到的延迟时间一样。提前谢谢。

2 个答案:

答案 0 :(得分:1)

在java中,您可以使用当前时间创建一个Date a = new date()对象,就在right_btn.click()之前,然后等待生成的页面打开,(如果在新的选项卡/窗口中 - 切换到它)然后在该页面上找到一些元素

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(
        ExpectedConditions.visibilityOfElementLocated(By.id("someid")));

之后返回元素,再创建一个Date b = new Date()

延迟是毫秒int millis = b-a;

的差异

是的,总时间的一小部分是Selenium搜索第二个元素,但我担心这可能是你用java / selenium做的最好的目的。

答案 1 :(得分:0)

我不太确定我是否完全理解你的问题 如何计算延迟是很难的,但是对于拦截调用,您可以在代码中使用browserMobProxy并检查特定调用是否完成并继续