我正在使用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
时看到的延迟时间一样。提前谢谢。
答案 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并检查特定调用是否完成并继续