From a2786f6140b0ab1bd6476a470d597aa02a5b6b76 Mon Sep 17 00:00:00 2001 From: thc202 Date: Tue, 21 Jan 2025 10:34:40 +0000 Subject: [PATCH] Update Selenium to 4.28.0 Update to latest version and address deprecations. Signed-off-by: thc202 --- CHANGELOG.md | 2 +- build.gradle | 4 ++-- .../zest/core/v1/ZestClientElementAssign.java | 12 +++++++++++- .../zest/core/v1/ZestLoopTokenClientElementsSet.java | 10 +++++++++- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0c6e1f..63afef9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Changed - - Update Selenium to version 4.26.0. + - Update Selenium to version 4.28.0. ## [0.22.0] - 2024-06-28 ### Added diff --git a/build.gradle b/build.gradle index 2daa0d2..7b37846 100644 --- a/build.gradle +++ b/build.gradle @@ -29,8 +29,8 @@ dependencies { implementation ( 'org.apache.httpcomponents:httpclient:4.5.8', 'com.google.code.gson:gson:2.8.5', - 'org.seleniumhq.selenium:selenium-java:4.26.0', - 'org.seleniumhq.selenium:htmlunit3-driver:4.26.0', + 'org.seleniumhq.selenium:selenium-java:4.28.0', + 'org.seleniumhq.selenium:htmlunit3-driver:4.27.0', 'net.htmlparser.jericho:jericho-html:3.1', 'com.fasterxml.jackson.core:jackson-core:2.15.2', 'com.fasterxml.jackson.core:jackson-databind:2.15.2', diff --git a/src/main/java/org/zaproxy/zest/core/v1/ZestClientElementAssign.java b/src/main/java/org/zaproxy/zest/core/v1/ZestClientElementAssign.java index 20deec7..be6184e 100644 --- a/src/main/java/org/zaproxy/zest/core/v1/ZestClientElementAssign.java +++ b/src/main/java/org/zaproxy/zest/core/v1/ZestClientElementAssign.java @@ -3,6 +3,8 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ package org.zaproxy.zest.core.v1; +import org.openqa.selenium.WebElement; + /** * Clear the specified client element. * @@ -53,7 +55,7 @@ public void setAttribute(String attribute) { public String invoke(ZestRuntime runtime) throws ZestClientFailException { String val; if (this.attribute != null && this.attribute.length() > 0) { - val = this.getWebElement(runtime).getAttribute(this.attribute); + val = getAttribute(getWebElement(runtime), attribute); } else { val = this.getWebElement(runtime).getText(); } @@ -62,6 +64,14 @@ public String invoke(ZestRuntime runtime) throws ZestClientFailException { return val; } + private static String getAttribute(WebElement element, String name) { + String value = element.getDomAttribute(name); + if (value != null) { + return value; + } + return element.getDomProperty(name); + } + @Override public ZestStatement deepCopy() { ZestClientElementAssign copy = diff --git a/src/main/java/org/zaproxy/zest/core/v1/ZestLoopTokenClientElementsSet.java b/src/main/java/org/zaproxy/zest/core/v1/ZestLoopTokenClientElementsSet.java index 1ee7985..1e2a84a 100644 --- a/src/main/java/org/zaproxy/zest/core/v1/ZestLoopTokenClientElementsSet.java +++ b/src/main/java/org/zaproxy/zest/core/v1/ZestLoopTokenClientElementsSet.java @@ -93,7 +93,7 @@ protected ZestLoopTokenStringSet getConvertedSet() throws ZestClientFailExceptio if (this.attribute == null || this.attribute.length() == 0) { val = we.getText(); } else { - val = we.getAttribute(attribute); + val = getAttribute(we, attribute); } if (val != null && val.length() > 0) { @@ -106,6 +106,14 @@ protected ZestLoopTokenStringSet getConvertedSet() throws ZestClientFailExceptio return convertedSet; } + private static String getAttribute(WebElement element, String name) { + String value = element.getDomAttribute(name); + if (value != null) { + return value; + } + return element.getDomProperty(name); + } + @Override public String getToken(int index) { try {