0

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

1)我的疑问是

当我使用click()类似的方法时,right_btn.click()它是否只是单击right_btn并出来,或者它只是等待底层操作完成后再移出???

因为我读了这个

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

2)我真正想知道什么?

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

4

2 回答 2

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 为您的目的所能做的最好的事情。

于 2013-08-26T16:15:19.187 回答
0

我不太确定我是否完全理解您的问题 How to calculate Latency is hard ,但是对于拦截呼叫,您可以在代码中使用 browserMobProxy 并检查特定呼叫是否完成并继续

于 2013-08-26T09:53:28.000 回答