Chrome浏览器和“网络服务等待”问题

时间:2019-06-01 03:27:27

标签: google-chrome selenium-webdriver

因此,我们在C#中使用Selenium来控制Chrome。在带有v74 chromedriver的Chrome v74和带有v75 chromedriver的Chrome v75(测试版)中都发生了以下问题。

例如,与网站进行约12次互动后,我们会收到错误消息

<View styles={{ flex:1 }}>
   <SearchBar
      placeholder="Type Here..."
      onChangeText={this.updateSearch}
      value={search}
      containerStyle = {{ alignItems:'center', justifyContent:'center' }}
   />
</View>

我们无法编辑[10084:5660:0601/111205.119:ERROR:browser_process_sub_thread.cc(221)] Waited 57 ms for network service 并重新编译。

我已经在此问题上寻求帮助,并且正在其他地方进行讨论。但是,由于v75 beta出现相同问题,因此似乎没有发生太多事情。

我们如何解决这个问题?它只会出现在这组测试中,而不会出现在其他测试中。

1 个答案:

答案 0 :(得分:5)

此错误消息...

ERROR:browser_process_sub_thread.cc(217)] Waited 771 ms for network service

...来自IOThreadCleanUp()文件中的browser_process_sub_thread.cc方法,该方法实现为:

// Record time spent for the method call.
base::TimeDelta network_wait_time = base::TimeTicks::Now() - start_time;
UMA_HISTOGRAM_TIMES("NetworkService.ShutdownTime", network_wait_time);
LOG(ERROR) << "Waited " << network_wait_time.InMilliseconds()
           << " ms for network service";

根据Chromium Servicification - Need better handling for when a core service process fails to start/initialize 网络进程(NP) [--enable-features=NetworkService]之后的讨论,如果产生了子进程,但服务启动失败,在这些情况下:

  • 浏览器用户界面保持可见并打开。
  • 由于该服务可重新启动,因此似乎在引擎盖下发生了无限次尝试子重生,这会消耗更多的系统资源。
  • 可见的浏览器由于严重故障而无法适当关闭,只能坐在那里,没有网络连接。

因此,对于所有Chrome运行所需的核心服务来说,都必须制定一项策略,这可能是网络进程(NP)的失败路径。


按照上述要求Sandbox the network service on Windows Chrome 按照新的 Network Process(NP)引入了新的沙盒(SANDBOX_NETWORK_TYPE)

  

Windows 是第一个同时推出这两项新功能的平台,并且您是最幸运的拥有第一手用户体验的用户之一:

  • 启用网络服务的功能: NetworkService

    --enable-features=NetworkService
    
  • 为网络服务上的 启用的功能: NetworkServiceWindowsSandbox

    --enable-features=NetworkServiceWindowsSandbox
    

revisioncommit中来自{WillHarris的sandbox_win.cc中的docs都将解决此问题。