Codeception / Codeception/module-webdriver

`seeNumberOfElements()` doesn't count <input>s with Bootstrap's `.custom-control-input` class

Abierto
#22 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
PHP
Estrellas
39
Forks
25
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Next problem with [Bootstrap custom radio button](https://getbootstrap.com/docs/4.5/components/forms/#radios) after https://github.com/Codeception/module-webdriver/issues/21

`seeNumberOfElements()` doesn't count those radiobuttons:
```html

```
This is probably because of `z-index:-1` in Bootstrap's CSS:
```css
.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.22rem;opacity:0}
```
Background: When using Bootstrap's *custom* radiobuttons, the standard browser widget is replaced by some other widget (SVG?) for nicer graphics.

I'm filing this here mainly to see if somebody else encounters it. A possible solution could be to set a configuration parameter in `acceptance.suite.yml` to switch the concerned methods' behavior to be compatible with Bootstrap.

In my case I can't look at the page's source code (what I'm guessing that e.g. [`seeNumberOfElementsInDOM()`](https://codeception.com/docs/modules/WebDriver#seeNumberOfElementsInDOM) is doing), since I'm showing/hiding some radiobuttons with JavaScript, and I need to assert their *visibility.* My workaround: Count the *labels* instead:
```php
$I->seeNumberOfElements(['css' => 'div#foobar label'], 7);
```

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.