当使用机器人api来拖放时,我的鼠标位置受到干扰(在全屏模式下运行firefox)的警报会询问“允许运行silverlight?”。甚至我的webdriver api也会因为这个警报而受到影响,因为一个按钮上发生的点击会在另一个按钮上执行。
我使用WebDriver来自动化我的场景,并结合使用机器人api进行拖放。有没有办法在firefox配置文件中设置一些内容,以便不显示此警报?
下图显示警告
https://drive.google.com/file/d/0B36CJTZFg52aUFhvWmZIVzNleEk/view?usp=sharing
答案 0 :(得分:2)
在Windows上,您可以执行以下操作:
// Enable Silverlight
profile.setPreference("plugin.state.npctrl", 2);
在OSX上:
// Enable Silverlight
profile.setPreference("plugin.state.silverlight", 2);
在Windows上,DLL名称是npctrl.dll,所以我相信'npctrl'的来源。您可以从以下地址看到:
about:plugins
对于Linux,你必须检查。打开两个标签,用于:
about:addons
另一个是:
about:config
关于:addons使Silverlight插件始终为Activated。
在about:config过滤器'plugins.state'。更改about:addons中的激活状态时更改的项目是您添加到FireFox配置文件中的项目。
答案 1 :(得分:0)
您可以创建新的Firefox配置文件
http://www.toolsqa.com/selenium-webdriver/custom-firefox-profile/
打开firefox配置文件管理器,然后按添加配置文件按钮,您可以为其命名。你需要在FireFox中打开该配置文件,下载Silverlight插件,安装它,然后转到firefox插件管理器
在经理中你必须将silverlight插件设置为Always Activate。
然后,您必须在调用驱动程序时调用此配置文件:
ProfilesIni profile = new ProfilesIni();
FirefoxProfile your_profile = profile.getProfile("<name of your profile>");
WebDriver driver = new FirefoxDriver(your_profile);