Skip to content

Instantly share code, notes, and snippets.

@SarahElson
SarahElson / test_form_demo.py
Created May 2, 2024 10:22
How to Use pytest Skip Test And XFail in Selenium
#It will be skipped when adding an addopts option in pytest.ini file -k "not 06"
def test_06(browser):
browser.get("https://www.lambdatest.com/selenium-playground/simple-form-demo")
assert browser.title == "Selenium Grid Online | Run Selenium Test On Cloud"
@SarahElson
SarahElson / pytest.ini
Created May 2, 2024 10:21
How to Use pytest Skip Test And XFail in Selenium
[pytest]
addopts = -k "not 06"
@SarahElson
SarahElson / HomePage.java
Created April 22, 2024 07:41
How to Handle Shadow Root in Selenium Java
package pages.htmlelements;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.SearchContext;
import org.openqa.selenium.WebElement;
import static setup.DriverManager.getDriver;
public class HomePage {
@SarahElson
SarahElson / ShadowRootTests.java
Created April 22, 2024 07:40
How to Handle Shadow Root in Selenium Java
public class ShadowRootTests extends BaseTest {
@BeforeClass
public void navigateToWebsite() {
getDriver().get("https://www.htmlelements.com/demos/menu/shadow-dom/index.htm");
}
@Test
public void testFileMenuShadowRootElement() {
final HomePage homePage = new HomePage();
@SarahElson
SarahElson / ShadowRootTests.java
Created April 22, 2024 07:32
How to Handle Shadow Root in Selenium Java
@Test
public void testEditMenuShadowRootElement() {
getDriver().get("https://www.htmlelements.com/demos/menu/shadow-dom/index.htm");
final HomePage homePage = new HomePage();
assertEquals(homePage.getEditMenuText(), "Edit");
}
@SarahElson
SarahElson / HomePage.java
Created April 22, 2024 07:29
How to Handle Shadow Root in Selenium Java
public SearchContext expandRootElement(final WebElement element) {
return (SearchContext) ((JavascriptExecutor) getDriver()).executeScript(
"return arguments[0].shadowRoot", element);
}
@SarahElson
SarahElson / ShadowRootTests.java
Created April 22, 2024 07:24
How to Handle Shadow Root in Selenium Java
@Test
public void testNewMenuShadowRootElement() {
getDriver().get("https://www.htmlelements.com/demos/menu/shadow-dom/index.htm");
final HomePage homePage = new HomePage();
assertEquals(homePage.getNewMenuText(), "New");
}
@SarahElson
SarahElson / HomePage.java
Created April 22, 2024 07:23
How to Handle Shadow Root in Selenium Java
public String getNewMenuText() {
openFileMenu();
return fileMenu().findElement(By.cssSelector(".smart-menu-drop-down div smart-menu-item.smart-element"))
.getAttribute("label");
}
@SarahElson
SarahElson / ShadowRootTests.java
Created April 22, 2024 07:20
How to Handle Shadow Root in Selenium Java
@Test
public void testFileMenuShadowRootElement() {
getDriver().get("https://www.htmlelements.com/demos/menu/shadow-dom/index.htm");
final HomePage homePage = new HomePage();
assertEquals(homePage.getFileMenuText(), "File");
}
@SarahElson
SarahElson / HomePage.java
Created April 22, 2024 07:15
How to Handle Shadow Root in Selenium Java
public WebElement fileMenu() {
final WebElement shadowHost = getDriver().findElement(By.cssSelector(".smart-ui-component"));
final SearchContext shadowRoot = shadowHost.getShadowRoot();
return shadowRoot.findElement(By.cssSelector(".smart-element .smart-menu-main-container .smart-element"));
}