使用 Protractor 对 WPF 中 CefSharp 浏览器下托管的 AngularJS 应用程序进行自动化测试

mik*_*uka 2 wpf ui-automation chromium-embedded cefsharp protractor

我们有一个 wpf 应用程序,它使用 cefsharp 浏览器来托管网站(AngularJS) - 换句话说 - 混合应用程序。

我们有兴趣运行自动化测试(特别是在角度部分)。通过一项小型研究,我们发现 TestComplete 支持本机代码中的 cef 浏览器挂钩,但我们希望看到所有可能性。

正如我们所看到的,“Protractor”框架非常适合测试基于 Angular 的应用程序。对我们来说,问题在于它只能测试 Web 部分,并且通过打开 Web 浏览器来测试它。无论如何,我们想在本机代码(wpf)内运行的浏览器实例上运行量角器测试。是否可以?您还有其他选择/想法吗?谢谢。

mik*_*uka 5

谢阿迈特兰

我接受了他的建议,并成功在 CefSharp 托管的 Web 浏览器上运行量角器测试。

为了做到这一点,你必须做两件事:

  1. 在托管嵌入式 CEF Web 浏览器的 .net 应用程序(启动时)中定义调试端口:

            var settings = new CefSettings { RemoteDebuggingPort = 8088 };
            Cef.Initialize(settings);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在量角器配置文件中,应在功能下定义完整的调试地址“ip:port”:

         seleniumAddress: 'http://localhost:4444/wd/hub',
         specs: ['./tests.spec.js'],
         capabilities: {
    
               'browserName': 'chrome',
    
               'chromeOptions': {'debuggerAddress': "127.0.0.1:8088" }
         }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 运行 .net 应用程序并使用托管的 Web 浏览器进入屏幕

  4. 运行量角器configuration.js