Skip to content

Commit

Permalink
CDP 122 (#13603)
Browse files Browse the repository at this point in the history
* Update pinned browser versions

* Update supported versions for Chrome DevTools

* Reverting changes on Rakefile

* Switching test to new behavior
  • Loading branch information
diemol committed Feb 19, 2024
1 parent b3af4a6 commit 77dd725
Show file tree
Hide file tree
Showing 35 changed files with 557 additions and 198 deletions.
File renamed without changes.

Large diffs are not rendered by default.

Expand Up @@ -1665,7 +1665,7 @@ domain Runtime
# Binding function takes exactly one argument, this argument should be string,
# in case of any other input, function throws an exception.
# Each binding function call produces Runtime.bindingCalled notification.
experimental command addBinding
command addBinding
parameters
string name
# If specified, the binding would only be exposed to the specified
Expand All @@ -1675,17 +1675,17 @@ domain Runtime
# Deprecated in favor of `executionContextName` due to an unclear use case
# and bugs in implementation (crbug.com/1169639). `executionContextId` will be
# removed in the future.
deprecated optional ExecutionContextId executionContextId
experimental deprecated optional ExecutionContextId executionContextId
# If specified, the binding is exposed to the executionContext with
# matching name, even for contexts created after the binding is added.
# See also `ExecutionContext.name` and `worldName` parameter to
# `Page.addScriptToEvaluateOnNewDocument`.
# This parameter is mutually exclusive with `executionContextId`.
experimental optional string executionContextName
optional string executionContextName

# This method does not remove binding function from global object but
# unsubscribes current runtime agent from Runtime.bindingCalled notifications.
experimental command removeBinding
command removeBinding
parameters
string name

Expand Down
16 changes: 8 additions & 8 deletions common/repositories.bzl
Expand Up @@ -120,8 +120,8 @@ exports_files(

http_archive(
name = "linux_chrome",
url = "https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/linux64/chrome-linux64.zip",
sha256 = "f2496409f3f440c039c967751818480c6029da43b808db307fd2381cabc836ee",
url = "https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.39/linux64/chrome-linux64.zip",
sha256 = "22af92803b1c7dec09b12c857a116dee765cf355f212af2f6762fe94c9e26050",
build_file_content = """
filegroup(
name = "files",
Expand All @@ -137,8 +137,8 @@ exports_files(

http_archive(
name = "mac_chrome",
url = "https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/mac-x64/chrome-mac-x64.zip",
sha256 = "2c228be3134ea66fd4e8648d6eb937fde5f7d2591e2f2c16966eb7edc72d9e17",
url = "https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.39/mac-x64/chrome-mac-x64.zip",
sha256 = "0144c2cba9eb4deaa5c53040784653f07f56619108559f2e67bf32c5625be950",
strip_prefix = "chrome-mac-x64",
patch_cmds = [
"mv 'Google Chrome for Testing.app' Chrome.app",
Expand All @@ -149,16 +149,16 @@ exports_files(

http_archive(
name = "linux_chromedriver",
url = "https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/linux64/chromedriver-linux64.zip",
sha256 = "a1e864dd3b087733e5c654f57b93a241ee5f9dbf82c6b5a48e7c1768ea9e78e6",
url = "https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.39/linux64/chromedriver-linux64.zip",
sha256 = "03bb90ffde549f9370dcdf2d2bf97783b484545aa8e5b1cbe28b2477028e02f3",
strip_prefix = "chromedriver-linux64",
build_file_content = "exports_files([\"chromedriver\"])",
)

http_archive(
name = "mac_chromedriver",
url = "https://storage.googleapis.com/chrome-for-testing-public/121.0.6167.184/mac-x64/chromedriver-mac-x64.zip",
sha256 = "3d3f4a9575ff356258b6f12a9375d8c92f47cdff79f191b3faeff723a29bf308",
url = "https://storage.googleapis.com/chrome-for-testing-public/122.0.6261.39/mac-x64/chromedriver-mac-x64.zip",
sha256 = "93325da65b13de4dfc1e5695c61d4e5bfc16263bf1102d6ce48bc12884b4bfee",
strip_prefix = "chromedriver-mac-x64",
build_file_content = "exports_files([\"chromedriver\"])",
)
2 changes: 1 addition & 1 deletion dotnet/selenium-dotnet-version.bzl
Expand Up @@ -6,7 +6,7 @@ SUPPORTED_NET_STANDARD_VERSIONS = ["netstandard2.0"]

SUPPORTED_DEVTOOLS_VERSIONS = [
"v85",
"v119",
"v122",
"v120",
"v121",
]
Expand Down
2 changes: 1 addition & 1 deletion dotnet/src/webdriver/DevTools/DevToolsDomains.cs
Expand Up @@ -39,7 +39,7 @@ public abstract class DevToolsDomains
{
{ 121, typeof(V121.V121Domains) },
{ 120, typeof(V120.V120Domains) },
{ 119, typeof(V119.V119Domains) },
{ 122, typeof(V122.V122Domains) },
{ 85, typeof(V85.V85Domains) }
};

Expand Down
@@ -1,4 +1,4 @@
// <copyright file="V119Domains.cs" company="WebDriver Committers">
// <copyright file="V122Domains.cs" company="WebDriver Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
Expand All @@ -19,28 +19,28 @@
using System.Collections.Generic;
using System.Text;

namespace OpenQA.Selenium.DevTools.V119
namespace OpenQA.Selenium.DevTools.V122
{
/// <summary>
/// Class containing the domain implementation for version 119 of the DevTools Protocol.
/// Class containing the domain implementation for version 122 of the DevTools Protocol.
/// </summary>
public class V119Domains : DevToolsDomains
public class V122Domains : DevToolsDomains
{
private DevToolsSessionDomains domains;

/// <summary>
/// Initializes a new instance of the V119Domains class.
/// Initializes a new instance of the V122Domains class.
/// </summary>
/// <param name="session">The DevToolsSession to use with this set of domains.</param>
public V119Domains(DevToolsSession session)
public V122Domains(DevToolsSession session)
{
this.domains = new DevToolsSessionDomains(session);
}

/// <summary>
/// Gets the DevTools Protocol version for which this class is valid.
/// </summary>
public static int DevToolsVersion => 119;
public static int DevToolsVersion => 122;

/// <summary>
/// Gets the version-specific domains for the DevTools session. This value must be cast to a version specific type to be at all useful.
Expand All @@ -50,21 +50,21 @@ public V119Domains(DevToolsSession session)
/// <summary>
/// Gets the object used for manipulating network information in the browser.
/// </summary>
public override DevTools.Network Network => new V119Network(domains.Network, domains.Fetch);
public override DevTools.Network Network => new V122Network(domains.Network, domains.Fetch);

/// <summary>
/// Gets the object used for manipulating the browser's JavaScript execution.
/// </summary>
public override JavaScript JavaScript => new V119JavaScript(domains.Runtime, domains.Page);
public override JavaScript JavaScript => new V122JavaScript(domains.Runtime, domains.Page);

/// <summary>
/// Gets the object used for manipulating DevTools Protocol targets.
/// </summary>
public override DevTools.Target Target => new V119Target(domains.Target);
public override DevTools.Target Target => new V122Target(domains.Target);

/// <summary>
/// Gets the object used for manipulating the browser's logs.
/// </summary>
public override DevTools.Log Log => new V119Log(domains.Log);
public override DevTools.Log Log => new V122Log(domains.Log);
}
}
@@ -1,4 +1,4 @@
// <copyright file="V119JavaScript.cs" company="WebDriver Committers">
// <copyright file="V122JavaScript.cs" company="WebDriver Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
Expand All @@ -18,25 +18,25 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using OpenQA.Selenium.DevTools.V119.Page;
using OpenQA.Selenium.DevTools.V119.Runtime;
using OpenQA.Selenium.DevTools.V122.Page;
using OpenQA.Selenium.DevTools.V122.Runtime;

namespace OpenQA.Selenium.DevTools.V119
namespace OpenQA.Selenium.DevTools.V122
{
/// <summary>
/// Class containing the JavaScript implementation for version 119 of the DevTools Protocol.
/// Class containing the JavaScript implementation for version 122 of the DevTools Protocol.
/// </summary>
public class V119JavaScript : JavaScript
public class V122JavaScript : JavaScript
{
private RuntimeAdapter runtime;
private PageAdapter page;

/// <summary>
/// Initializes a new instance of the <see cref="V119JavaScript"/> class.
/// Initializes a new instance of the <see cref="V122JavaScript"/> class.
/// </summary>
/// <param name="runtime">The DevTools Protocol adapter for the Runtime domain.</param>
/// <param name="page">The DevTools Protocol adapter for the Page domain.</param>
public V119JavaScript(RuntimeAdapter runtime, PageAdapter page)
public V122JavaScript(RuntimeAdapter runtime, PageAdapter page)
{
this.runtime = runtime;
this.page = page;
Expand Down
@@ -1,4 +1,4 @@
// <copyright file="V119Log.cs" company="WebDriver Committers">
// <copyright file="V122Log.cs" company="WebDriver Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
Expand All @@ -20,22 +20,22 @@
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using OpenQA.Selenium.DevTools.V119.Log;
using OpenQA.Selenium.DevTools.V122.Log;

namespace OpenQA.Selenium.DevTools.V119
namespace OpenQA.Selenium.DevTools.V122
{
/// <summary>
/// Class containing the browser's log as referenced by version 119 of the DevTools Protocol.
/// Class containing the browser's log as referenced by version 122 of the DevTools Protocol.
/// </summary>
public class V119Log : DevTools.Log
public class V122Log : DevTools.Log
{
private LogAdapter adapter;

/// <summary>
/// Initializes a new instance of the <see cref="V119Log"/> class.
/// Initializes a new instance of the <see cref="V122Log"/> class.
/// </summary>
/// <param name="adapter">The adapter for the Log domain.</param>
public V119Log(LogAdapter adapter)
public V122Log(LogAdapter adapter)
{
this.adapter = adapter;
this.adapter.EntryAdded += OnAdapterEntryAdded;
Expand Down
@@ -1,4 +1,4 @@
// <copyright file="V119Network.cs" company="WebDriver Committers">
// <copyright file="V122Network.cs" company="WebDriver Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
Expand All @@ -20,25 +20,25 @@
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium.DevTools.V119.Fetch;
using OpenQA.Selenium.DevTools.V119.Network;
using OpenQA.Selenium.DevTools.V122.Fetch;
using OpenQA.Selenium.DevTools.V122.Network;

namespace OpenQA.Selenium.DevTools.V119
namespace OpenQA.Selenium.DevTools.V122
{
/// <summary>
/// Class providing functionality for manipulating network calls using version 119 of the DevTools Protocol
/// Class providing functionality for manipulating network calls using version 122 of the DevTools Protocol
/// </summary>
public class V119Network : DevTools.Network
public class V122Network : DevTools.Network
{
private FetchAdapter fetch;
private NetworkAdapter network;

/// <summary>
/// Initializes a new instance of the <see cref="V119Network"/> class.
/// Initializes a new instance of the <see cref="V122Network"/> class.
/// </summary>
/// <param name="network">The adapter for the Network domain.</param>
/// <param name="fetch">The adapter for the Fetch domain.</param>
public V119Network(NetworkAdapter network, FetchAdapter fetch)
public V122Network(NetworkAdapter network, FetchAdapter fetch)
{
this.network = network;
this.fetch = fetch;
Expand Down Expand Up @@ -216,9 +216,9 @@ public override async Task ContinueWithAuth(string requestId, string userName, s
await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings()
{
RequestId = requestId,
AuthChallengeResponse = new V119.Fetch.AuthChallengeResponse()
AuthChallengeResponse = new V122.Fetch.AuthChallengeResponse()
{
Response = V119.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials,
Response = V122.Fetch.AuthChallengeResponseResponseValues.ProvideCredentials,
Username = userName,
Password = password
}
Expand All @@ -235,9 +235,9 @@ public override async Task CancelAuth(string requestId)
await fetch.ContinueWithAuth(new ContinueWithAuthCommandSettings()
{
RequestId = requestId,
AuthChallengeResponse = new OpenQA.Selenium.DevTools.V119.Fetch.AuthChallengeResponse()
AuthChallengeResponse = new OpenQA.Selenium.DevTools.V122.Fetch.AuthChallengeResponse()
{
Response = V119.Fetch.AuthChallengeResponseResponseValues.CancelAuth
Response = V122.Fetch.AuthChallengeResponseResponseValues.CancelAuth
}
}).ConfigureAwait(false);
}
Expand Down
@@ -1,4 +1,4 @@
// <copyright file="V119Target.cs" company="WebDriver Committers">
// <copyright file="V122Target.cs" company="WebDriver Committers">
// Licensed to the Software Freedom Conservancy (SFC) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
Expand All @@ -21,22 +21,22 @@
using System.Collections.ObjectModel;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium.DevTools.V119.Target;
using OpenQA.Selenium.DevTools.V122.Target;

namespace OpenQA.Selenium.DevTools.V119
namespace OpenQA.Selenium.DevTools.V122
{
/// <summary>
/// Class providing functionality for manipulating targets for version 119 of the DevTools Protocol
/// Class providing functionality for manipulating targets for version 122 of the DevTools Protocol
/// </summary>
public class V119Target : DevTools.Target
public class V122Target : DevTools.Target
{
private TargetAdapter adapter;

/// <summary>
/// Initializes a new instance of the <see cref="V119Target"/> class.
/// Initializes a new instance of the <see cref="V122Target"/> class.
/// </summary>
/// <param name="adapter">The adapter for the Target domain.</param>
public V119Target(TargetAdapter adapter)
public V122Target(TargetAdapter adapter)
{
this.adapter = adapter;
adapter.DetachedFromTarget += OnDetachedFromTarget;
Expand Down
2 changes: 1 addition & 1 deletion dotnet/src/webdriver/WebDriver.csproj
Expand Up @@ -106,7 +106,7 @@
</Target>

<Target Name="GenerateCdp" BeforeTargets="CoreCompile">
<Exec Command="bazel build //dotnet/src/webdriver/cdp:generate-v85 //dotnet/src/webdriver/cdp:generate-v121 //dotnet/src/webdriver/cdp:generate-v119 //dotnet/src/webdriver/cdp:generate-v120" />
<Exec Command="bazel build //dotnet/src/webdriver/cdp:generate-v85 //dotnet/src/webdriver/cdp:generate-v121 //dotnet/src/webdriver/cdp:generate-v122 //dotnet/src/webdriver/cdp:generate-v120" />

<ItemGroup>
<Compile Include="..\..\..\bazel-bin\dotnet\src\webdriver\cdp\**\*.cs" LinkBase="DevTools\generated" />
Expand Down
Expand Up @@ -20,7 +20,7 @@ public StableChannelChromeDriver(ChromeDriverService service, ChromeOptions opti

public static ChromeOptions DefaultOptions
{
get { return new ChromeOptions() { BrowserVersion = "121" }; }
get { return new ChromeOptions() { BrowserVersion = "122" }; }
}
}
}
2 changes: 1 addition & 1 deletion dotnet/test/common/DevTools/DevToolsConsoleTest.cs
Expand Up @@ -6,7 +6,7 @@

namespace OpenQA.Selenium.DevTools
{
using CurrentCdpVersion = V121;
using CurrentCdpVersion = V122;

[TestFixture]
public class DevToolsConsoleTest : DevToolsTestFixture
Expand Down
2 changes: 1 addition & 1 deletion dotnet/test/common/DevTools/DevToolsLogTest.cs
Expand Up @@ -6,7 +6,7 @@

namespace OpenQA.Selenium.DevTools
{
using CurrentCdpVersion = V121;
using CurrentCdpVersion = V122;

[TestFixture]
public class DevToolsLogTest : DevToolsTestFixture
Expand Down
2 changes: 1 addition & 1 deletion dotnet/test/common/DevTools/DevToolsNetworkTest.cs
Expand Up @@ -6,7 +6,7 @@

namespace OpenQA.Selenium.DevTools
{
using CurrentCdpVersion = V121;
using CurrentCdpVersion = V122;

[TestFixture]
public class DevToolsNetworkTest : DevToolsTestFixture
Expand Down
2 changes: 1 addition & 1 deletion dotnet/test/common/DevTools/DevToolsPerformanceTest.cs
Expand Up @@ -3,7 +3,7 @@

namespace OpenQA.Selenium.DevTools
{
using CurrentCdpVersion = V121;
using CurrentCdpVersion = V122;

[TestFixture]
public class DevToolsPerformanceTest : DevToolsTestFixture
Expand Down
2 changes: 1 addition & 1 deletion dotnet/test/common/DevTools/DevToolsProfilerTest.cs
Expand Up @@ -5,7 +5,7 @@

namespace OpenQA.Selenium.DevTools
{
using CurrentCdpVersion = V121;
using CurrentCdpVersion = V122;

[TestFixture]
public class DevToolsProfilerTest : DevToolsTestFixture
Expand Down

0 comments on commit 77dd725

Please sign in to comment.