我们有一个WPF应用程序,我们正在使用CefSharp浏览器。该应用程序有一些wpf窗口,我们在其中嵌入了CefSharp浏览器控件。我们遇到的问题是关于自动化。我们已经尝试了CUIT(编码Ui测试)和Selenium - 无法识别CefSharp浏览器内的控件。我们看到CUIT将CefSharp浏览器内容识别为图像。我们还尝试从包装它的用户控件中公开CefSharp的automationpeer。然而,我们发现,CefSharp并没有公开任何WPF的自动更新功能 - 当我们尝试从CefSharp浏览器控件中获取自动更新时,我们得到了空值。我的问题是 - 是否有可能为位于wpf控件内的CefSharp浏览器执行自动化操作?如果是,那么应该采取什么方法 - 任何特定的技术堆栈和/或对CefSharp浏览器控件的任何调整? 我们使用VS 2015 WPF应用程序和CefSharp.Wpf 49.0.1用于在WPF中托管的CefSharp Wpf浏览器的UI自动化usercontrol
3
A
回答
1
我已经采取以下措施解决了这个问题(CEF自动化#在WPF应用程序嵌入式):
定义调试端口.NET应用程序(在启动时)托管嵌入式CEF网页浏览器:
var settings = new CefSettings { RemoteDebuggingPort = 8088 };
Cef.Initialize(settings);
在量角器(它像硒 - 另一种自动化的工具,这是我最喜欢的)配置文件,这个完整的调试地址“IP:端口”应根据能力定义
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['./tests.spec.js'],
capabilities: {
'browserName': 'chrome',
'chromeOptions': {'debuggerAddress': "127.0.0.1:8088" }
// debugger Address : An address of a Chrome debugger server to connect to, in the form of <hostname/ip:port>, e.g. localhost:8088
}}
运行.NET应用程序,并与托管的网页浏览器中输入屏幕
运行量角器configuration.js(这会运行用./tests.spec.js测试)
+0
如果您的自动化脚本与您的应用程序在同一台计算机上运行,并且CEF#在本地托管,则此方法有效。 –
相关问题
- 1. 在WPF中托管的CefSharp WinForms浏览器WinFormsHost
- 2. WPF窗口托管usercontrol
- 3. WPF UserControl DesignMode属性(托管在WinForm上)
- 4. CefSharp浏览器无法在WPF中加载
- 5. 在使用HwndSource的Win32应用程序中托管WPF UserControl
- 6. WPF UI自动化问题
- 7. ViewModel打破WPF中的UI自动化
- 8. 滚动浏览器在WPF的DataGrid
- 9. 使用c#在WPF中浏览WPF
- 10. 替代网页浏览器控制和Chromium CefSharp控制wpf C#
- 11. WPF浏览器InvokeScript
- 12. WPF中的自动高度usercontrol
- 13. 有Infragistics控件的WPF UI自动化
- 14. 使用Caliburn.Micro进行WPF UI自动化?
- 15. 图像浏览器在WPF
- 16. 在WPF中Mousemoving Usercontrol WPF
- 17. 如何从UI自动化框架中获取WPF UserControl DependencyProperty的值?
- 18. 托管WPF复合控件中奇怪的滚动条UI
- 19. 在Web浏览器中运行WPF浏览器应用程序
- 20. 在WPF中动画UserControl?
- 21. C#在Winforms中托管WPF
- 22. 使用自定义滚动条的WPF Web浏览器控件
- 23. 麻烦连接cefsharp浏览器与南希托管角的web应用程序
- 24. CefSharp WPF和MVVM?
- 25. 来自usercontrol的WPF relaycommand
- 26. 在web浏览器托管的网页
- 27. Selenium for WPF UI自动化测试
- 28. 浏览器中的主机WPF窗口
- 29. 网页浏览器控件中的Powershell UI自动化
- 30. 浏览器托管CouchDB
嗨Koushik,你能解决这个问题吗?如果是的话,请让我知道你是如何实现这一点的,我也面临同样的问题。 –