【发布时间】:2018-03-23 11:10:56
【问题描述】:
我们正在使用 Jmeter selenium webdriver 测试 web 应用程序。 由于 HTTP 管理器不工作,我们试图使用下面的代码清除缓存。由于某种原因,这是失败的。我们需要实现清晰的缓存机制。除此之外,我们还尝试了隐身模式许多其他选项,因为谷歌建议没有运气。 我们还尝试在清除浏览窗口中将浏览器启动为 (chrome://settings/clearBrowserData) 后按 (Sendkeys) Enter。 Driver.close() 不会根据场景需要帮助我们。
请提出一些想法/建议如何在浏览器启动后执行 Enter。
非常感谢您的时间和帮助。
var pkg=JavaImporter(org.openqa.selenium,org.openqa.selenium.support.ui) //import java selenium packages
var Thr=JavaImporter(java.lang.Thread) //import Thread sleep packages
var wait = new pkg.WebDriverWait(WDS.browser,30) //import WebDriverWait Package
WDS.browser.get('chrome://settings/clearBrowserData')
Thr.Thread.sleep(5000)
WDS.browser.switchTo().frame("settings")
var ChkBox = WDS.browser.findElement(pkg.By.xpath('//*[@id="delete-form-data-checkbox"]'))
ChkBox.click()
////*[@id="clear-browser-data-overlay"]/div[4]
//wait.until(pkg.ExpectedConditions.presenceOfElementLocated(pkg.By.xpath('//*[@id="clear-browser-data-commit"]')))
//wait.until(pkg.ExpectedConditions.presenceOfElementLocated(pkg.By.xpath('//*[@id="clear-browser-data-overlay"]/div[4]')))
var ClearCache = WDS.browser.findElement(pkg.By.xpath('//*[@id="clear-browser-data-commit"]'))
ClearCache.click()
wait.until(pkg.ExpectedConditions.presenceOfElementLocated(pkg.By.xpath('//*[@id="privacy-section"]/h3')))
【问题讨论】:
-
您似乎已经清除了浏览器上的缓存。如果你这样做了但没有解决它,那么问题就不是缓存了。您的代码中的某些内容需要工作。我对 selenium 不太了解,所以这是在黑暗中拍摄,但您需要将
Thr.Thread.sleep(5000)包装在 try catch 语句中吗? -
wanderer0810,感谢您的快速回复。由于 xpaths 和 frame 的一些变化,上面的代码可以更早地工作,目前不再工作。我需要一个命令来至少在活动浏览器(chrome://settings/clearBrowserData)上单击直接输入,如果您单击输入,则发布 URL 将清除缓存。但是 WebElement.sendKeys(Keys.ENTER) 由于某种原因无法正常工作。
-
Thr.Thread.sleep(5000) 只是明确的等待时间。
-
你是如何获得那个 xpath 的?查看我的 chrome,我没有看到框架“设置”,也没有看到
@id="delete-form-data-checkbox。
标签: javascript selenium-webdriver jmeter selenium-chromedriver