22 * #%L
33 * Grid Helpers Add-on
44 * %%
5- * Copyright (C) 2022 - 2025 Flowing Code
5+ * Copyright (C) 2022 - 2026 Flowing Code
66 * %%
77 * Licensed under the Apache License, Version 2.0 (the "License");
88 * you may not use this file except in compliance with the License.
1919 */
2020package com .flowingcode .vaadin .addons .gridhelpers .it ;
2121
22+ import com .flowingcode .vaadin .testbench .rpc .Version ;
2223import com .vaadin .flow .component .checkbox .testbench .CheckboxElement ;
2324import com .vaadin .flow .component .grid .testbench .GridElement ;
2425import com .vaadin .flow .component .menubar .testbench .MenuBarElement ;
2526import com .vaadin .testbench .ElementQuery ;
27+ import com .vaadin .testbench .ElementQuery .AttributeMatch .Comparison ;
2628import com .vaadin .testbench .TestBenchElement ;
2729import java .util .Arrays ;
2830import java .util .Collections ;
2931import java .util .List ;
3032import java .util .NoSuchElementException ;
3133import java .util .Optional ;
34+ import lombok .NonNull ;
3235import org .openqa .selenium .By ;
3336import org .openqa .selenium .TimeoutException ;
3437import org .openqa .selenium .WebElement ;
3538
3639public class GridHelperElement extends MyGridElement {
3740
41+ private Version version ;
42+
43+ private GridHelperElement (GridHelperElement e , Version version ) {
44+ init (e .getWrappedElement (), e .getCommandExecutor ());
45+ this .version = version ;
46+ }
47+
3848 public GridHelperElement (GridElement e ) {
3949 init (e .getWrappedElement (), e .getCommandExecutor ());
50+ version = null ;
51+ }
52+
53+ public GridHelperElement withVersion (@ NonNull Version version ) {
54+ return new GridHelperElement (this , version );
4055 }
4156
4257 @ Override
@@ -63,8 +78,15 @@ public TestBenchElement getColumnToggleButton() {
6378
6479 public List <CheckboxElement > getColumnToggleElements () {
6580 try {
66- return new ElementQuery <>(TestBenchElement .class ,
67- "vaadin-context-menu-overlay, vaadin-menu-bar-overlay" )
81+ ElementQuery <TestBenchElement > query ;
82+ if (version == null || version .getMajorVersion () < 25 ) {
83+ query = new ElementQuery <>(TestBenchElement .class ,
84+ "vaadin-context-menu-overlay, vaadin-menu-bar-overlay" );
85+ } else {
86+ query = new ElementQuery <>(TestBenchElement .class , "vaadin-menu-bar" )
87+ .withAttribute ("theme" , "gridHelperToggle" , Comparison .CONTAINS_WORD );
88+ }
89+ return query
6890 .context (getDriver ())
6991 .waitForFirst (100 )
7092 .$ (CheckboxElement .class ).all ();
0 commit comments