gpt4 book ai didi

asp.net-mvc-4 - 您如何在 Selenium WebDriver 的操作之间暂停

转载 作者:行者123 更新时间:2023-12-01 06:29:45 26 4
gpt4 key购买 nike

我已经阅读了所有“你为什么要那样做”的答案,以及“不要那样做,做这个”的答案。我同意在自动化测试中暂停是没有意义的,除非您实际上是在等待条件到达。

也就是说,有时我想在开发过程中“逐步执行”没有断点的操作列表,以查看测试顺利运行而不会中断。此外,单步执行断点有时会完全中断测试。所以这里是这样的场景:我有隐藏的菜单,当悬停在它们上面时会显示,然后当你悬停在现在可见的选项上时,当鼠标从一个移动到另一个时,它们会通过改变它们的背景颜色来突出显示;常见的菜单场景。我想自动化那件事情,并且能够在我开发它的时候看到它工作,然后当我喜欢我看到的东西时把那部分扔掉。对不起,我不是在喊,只是在强调。

所以我得到了菜单的顶部元素,然后是可供选择的选项列表。然后按顺序将鼠标悬停在前 3 个选项中的每一个上。

var element = page.WebDriver.FindElement(By.Id("actions"));
var elementLi = element.FindElements(By.TagName("li"));

Actions action = new Actions(page.WebDriver);
action.MoveToElement(element).Perform();
action.MoveToElement(elementLi[1]).Build().Perform();
action.MoveToElement(elementLi[2]).Build().Perform();
action.MoveToElement(elementLi[3]).Build().Perform();

是的,我可以设置断点,但是如果我在每个 MoveToElement 调用之间放置隐式等待或 Thread.Sleep(5000),则不会出现暂停。 I.E.,它贯穿了 lickity-split ,甚至没有因为睦邻而对我眨眼。

我同意,这几乎不是一个关键问题。但是为什么没有什么可以暂停呢?

最佳答案

您可以使用 pause Action 之间

(new Actions(driver))
.clickAndHold(car1)
.moveToElement(car2Tail)
.pause(java.time.Duration.ofSeconds(2))
.release(car1).build()
.perform();

关于asp.net-mvc-4 - 您如何在 Selenium WebDriver 的操作之间暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23747995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com