可以创建轮询方法以在浏览器实例的生命周期内检查“弹出窗口”吗?
例如,如果我在用户旅程的任何时间出现随机弹出窗口,是否可以在出现时使用唯一ID关闭弹出窗口?
感谢您的帮助
@BeforeMethod
public void closeGiveawayPopup() throws Exception {
try {
List<WebElement> elements = getDriver().findElements(By.cssSelector(".close"));
for (WebElement element : elements) {
if (element.isDisplayed()) {
element.click();
}
}
} catch (Exception e) {
throw (e);
}
}
答案 0 :(得分:1)
您可以使用您的JUnit框架,使用@Before和/或@After(或相应地在TestNG @BeforeMethod和/或@AfterMethod中)完成此操作。每个步骤(JBehave)或测试运行可以检查之前和/或者在发出警报后,相应地关闭它。这样,至少在每个模块中只需要一种方法,而不是每次测试都需要。我不确定JUnit或TestNG的确切语法,我们使用JUnit,但我们不使用注释,因为我们改为使用JBehave提供的BDD。但确实有类似的@Before和@After品种。
答案 1 :(得分:0)
尝试使用FirefoxProfile
,如下所示:
FirefoxProfile customProfile = new FirefoxProfile();
customProfile.setPreference("dom.disable_beforeunload", true);
FirefoxDriver driver = new FirefoxDriver(customProfile);