Skip to content

Commit a676cdc

Browse files
authored
[BiDi] JavaScript Handling (#213) +semver: feature
* Add JavaScripHandling wrapper over JavaScriptEngine functionality * Fix the compilation error, update the code documentation * - Add SetAttribute JsAction - Implement example test to handle DOM mutations * Add localized logging values for JavaScriptHandling methods * - Add PinnedScript extensions and element's JsActions - Add localization logger values for new methods - Implemented tests for PinnedScripts * Implement all tests for JavaScriptHandling functionality: - for adding script callback bindings - for adding initialization scripts - for subscribing to JS exceptions and console API calls Also fix ScriptCallbackBindings property of IJavaScriptEngine
1 parent a1a255c commit a676cdc

File tree

13 files changed

+907
-4
lines changed

13 files changed

+907
-4
lines changed

Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
<ItemGroup>
2727
<None Remove="Resources\JavaScripts\ExpandShadowRoot.js" />
28+
<None Remove="Resources\JavaScripts\SetAttribute.js" />
2829
<None Remove="Resources\Localization\be.json" />
2930
<None Remove="Resources\Localization\en.json" />
3031
<None Remove="Resources\Localization\ru.json" />
@@ -62,6 +63,7 @@
6263
<EmbeddedResource Include="Resources\JavaScripts\SetFocus.js" />
6364
<EmbeddedResource Include="Resources\JavaScripts\SetInnerHTML.js" />
6465
<EmbeddedResource Include="Resources\JavaScripts\OpenNewTab.js" />
66+
<EmbeddedResource Include="Resources\JavaScripts\SetAttribute.js" />
6567
<EmbeddedResource Include="Resources\JavaScripts\SetValue.js" />
6668
<EmbeddedResource Include="Resources\Localization\be.json" />
6769
<EmbeddedResource Include="Resources\Localization\en.json" />

Aquality.Selenium/src/Aquality.Selenium/Aquality.Selenium.xml

Lines changed: 209 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Aquality.Selenium/src/Aquality.Selenium/Browsers/Browser.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public Browser(WebDriver webDriver)
3030
{
3131
Driver = webDriver;
3232
Network = new NetworkHandling(webDriver);
33+
JavaScriptEngine = new JavaScriptHandling(webDriver);
3334
Logger = AqualityServices.LocalizedLogger;
3435
LocalizationManager = AqualityServices.Get<ILocalizationManager>();
3536
browserProfile = AqualityServices.Get<IBrowserProfile>();
@@ -55,6 +56,11 @@ public Browser(WebDriver webDriver)
5556
/// </summary>
5657
public INetwork Network { get; }
5758

59+
/// <summary>
60+
/// Provides JavaScript Monitoring functionality <see cref="JavaScriptHandling"/>
61+
/// </summary>
62+
public IJavaScriptEngine JavaScriptEngine { get; }
63+
5864
/// <summary>
5965
/// Gets name of desired browser from configuration.
6066
/// </summary>

Aquality.Selenium/src/Aquality.Selenium/Browsers/JavaScript.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public enum JavaScript
2828
ScrollToTop,
2929
ScrollWindowBy,
3030
SelectComboBoxValueByText,
31+
SetAttribute,
3132
SetFocus,
3233
SetInnerHTML,
3334
SetValue,

0 commit comments

Comments
 (0)