module-webdriver icon indicating copy to clipboard operation
module-webdriver copied to clipboard

Suggestion: `seeElementHasClass()`

Open ThomasLandauer opened this issue 1 year ago • 0 comments

I wrote a simple method for App\Tests\Support\Helper\Acceptance to check if an HTML element has a certain CSS class. Does the same as JavaScript .classList.contains():

public function seeElementHasClass(array|string $element, string $class): void
{
    $I = $this->getModule('WebDriver');
    $classesString = $I->grabAttributeFrom($element, 'class');
    $classesArray = explode(' ', $classesString);
    $this->assertContains($class, $classesArray);
}

public function dontSeeElementHasClass(array|string $element, string $class): void
{
    $I = $this->getModule('WebDriver');
    $classesString = $I->grabAttributeFrom($element, 'class');
    $classesArray = explode(' ', $classesString);
    $this->assertNotContains($class, $classesArray);
}

Maybe somebody could add it to the module? :-)

ThomasLandauer avatar Apr 16 '24 13:04 ThomasLandauer