我使用Selenium Webdriver和核心Java自动化一些测试用例,在Chrome浏览器中点击一个测试用例点击按钮我正在获得浏览器级别通知'显示带有选项Allow和Block'的通知。我想选择允许选项。谁能知道如何使用Selenium webdriver处理这种通知。 请参阅以下快照了解更多详情
答案 0 :(得分:3)
WebDriver driver ;
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("permissions.default.desktop-notification", 1);
DesiredCapabilities capabilities=DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
driver = new FirefoxDriver(capabilities);
driver.get("your Web site");
答案 1 :(得分:2)
处理此类要求的步骤:
firefox.exe -p
以启动配置文件管理器)customfirefox
)about:permissions
现在使用新创建的配置文件通过调用Firefox
来运行测试ProfilesIni ffProfiles = new ProfilesIni();
FirefoxProfile profile = ffProfiles.getProfile("customfirefox");
WebDriver driver = new FirefoxDriver(profile);
这将始终使用firefox和配置文件中保存的自定义配置。
希望这对你有用.. !!!
祝你好运。答案 2 :(得分:2)
请按照以下步骤操作:
第1步:
//创建ChromeOptions类的实例
ChromeOptions options = new ChromeOptions();
第2步:
//添加Chrome开关以禁用通知 - “ - 禁用通知”
options.addArguments("--disable-notifications");
第3步:
//设置驱动程序exe的路径
System.setProperty("webdriver.chrome.driver","path/to/driver/exe");
第4步:
//将ChromeOptions实例传递给ChromeDriver构造函数
WebDriver driver =new ChromeDriver(options);
答案 3 :(得分:2)
您可以使用以下代码来允许Chrome发送通知:
ChromeOptions options=new ChromeOptions();
Map<String, Object> prefs=new HashMap<String,Object>();
prefs.put("profile.default_content_setting_values.notifications", 1);
//1-Allow, 2-Block, 0-default
options.setExperimentalOption("prefs",prefs);
ChromeDriver driver=new ChromeDriver(options);
它对我来说非常合适。如果它不适合你,请告诉我。 干杯!!
答案 4 :(得分:0)
这是Chrome浏览器提醒
WebDriverWait wait = new WebDriverWait(driver, 2) \\ wait for alert to pop up;
Alert alert = wait.until(ExpectedConditions.alertIsPresent()) \\ Check for alert;
alert.accept(); \\ accept it- In your case it allows notification
这适用于Chrome 注意:如果您使用隐身模式,则不应收到此类通知警告。
答案 5 :(得分:0)
根据我的理解,这些弹出窗口不是javascripts one.So selenium不会处理它们。同样有一种身份验证弹出窗口,我们通过像http://username:password@www.test.com这样的黑客进行自动化,这里在url中提供用户名和密码。 在你的情况下,Praveen提到你必须创建浏览器配置文件(FF或chrome)。在chrome中,可以通过所需的cabilities选项或chrome选项功能创建配置文件。