我有一个Selenium测试,我需要点击“cliclient://”链接,该链接需要打开一个应用程序。现在,我需要为每个测试创建一个新的配置文件,我不知道如何绕过点击链接时出现的“启动应用程序”对话框:
以下是我创建的测试片段:
profile = Selenium::WebDriver::Firefox::Profile.new
profile.secure_ssl = false
profile.assume_untrusted_certificate_issuer=true
profile["plugin.default.state"] = 2
profile["plugin.state.java"] = 2
profile["browser.download.folderList"] = 2
profile["browser.download.manager.alertOnEXEOpen"] = false
profile["browser.download.manager.closeWhenDone"] = true
profile["browser.download.manager.focusWhenStarting"] = false
profile["browser.download.manager.showWhenStarting"] = false
profile["browser.helperApps.alwaysAsk.force"] = false
profile["browser.helperApps.neverAsk.saveToDisk"] = 'application/x-msdownload,application/octet-stream, application/x-msdownload, application/exe, application/x-exe, application/dos-exe, vms/exe, application/x-winexe, application/msdos-windows, application/x-msdos-program'
profile["gfx.direct2d.disabled"] = true
profile["layers.acceleration.disabled"] = true
我需要设置的配置文件是什么,绕过对话框,或者在出现此对话框时以某种方式单击“确定”?
答案 0 :(得分:1)
您也可以尝试使用SikuliX http://sikulix.com/这是一个自动化软件,它使用图像识别需要执行某些操作的GUI元素
Hovever将它与ruby一起使用,您很可能需要通过系统命令编译和运行java类,并且还需要在将执行自动化的机器上安装JDK
答案 1 :(得分:0)
Use C# to access the Win32 API并找到标题为"启动应用程序'的窗口句柄。您需要使用它,因为窗口由操作系统控制,因此Selenium无法与之交互。然后使用相同的API单击取消按钮(使用WinSpy找到其标识属性)
很抱歉,如果这不是一个完整的答案,但我不能仅仅发表评论,因为我目前没有足够的代表。