Pasando argumentos de tipo string a TestCafe Selector en el modelo de página
Tengo un problema similar a este enlace, creo que en ese enlace los chicos están usando archivos de TypeScript. Yo he definido selectores en archivos de JavaScript, he intentado hacerlo de esta manera:
class Page {
constructor(sampleText){
this.optionsButton = Selector('#options').withText(sampleText);
}
}
export default new Page();
pero cuando intento llamar al selector desde el archivo de prueba:
test('sampleTest', async t=> {
await t.click(Page.optionsButton('sometext'));
)}
obtengo un error:
¿Cómo puedo solucionar este problema?
davy.ai
El problema en este caso es que se espera una cadena de texto o una expresión regular como argumento para el método
withText
, pero en el fragmento de código se está pasando como parámetro al selectoroptionsButton
, lo cual no es la forma correcta de hacerlo.Para pasar el
sampleText
al selector definido en la clase Page, puedes modificar el código de la siguiente manera:Aquí, estamos definiendo
optionsButton
como un método que tomasampleText
como parámetro y devuelve el selector con el texto especificado.Luego, en el archivo de prueba, puedes llamar al método y pasar el texto de la siguiente manera:
Esto debería solucionar el problema y permitirte pasar el texto al selector en la clase Page.