浏览器中访问Clipboard API需要开启权限,通常会弹出下面的对话框
自动测试不允许交互,可以通过Robot工具来模拟点击allow
Robot robot = new Robot();
robot.delay(2000);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyPress(KeyEvent.VK_ENTER);
这种方法是模拟人工点击allow,通常需要等待,并且如果当前窗口不是浏览器就不起作用,个人不喜欢robot类,所以想直接给浏览器授权,就可以避免弹出此对话框。
python的授权代码如下
require 'rubygems'
require 'selenium-webdriver'
caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"prefs" => { "profile.content_settings.exceptions.clipboard" => '*': {'setting': 1} } })
caps['browserName'] = 'Chrome'
caps['version'] = 'latest'
caps['platform'] = 'WIN10'
driver = Selenium::WebDriver.for(:remote,
:url => "https://API_KEY:API_SECRET@hub.testingbot.com/wd/hub",
:desired_capabilities => caps)
driver.navigate.to "https://permission.site/#read-text"
driver.find_element(:id, "read-text").click;
sleep(2)
driver.quit
参照上面的代码,在katalon的 点击菜单Project->setting菜单,输入下面的配置
设置权限后启动测试就不会弹出授权的对话框了。
这个是开启clipboard权限的例子,其他权限也是如法炮制。