J'ai 2 classes on étend l'autre, ils sont énumérés ci-dessous:Pouvez-vous remplacer le contenu du bloc "contenu statique" lors de l'extension des classes dans geb?
class TabledPage extends Page {
static content ={
table {$(By.xpath("//tbody"))}
headers {$(By.xpath("//thead"))}
}
Navigator gatAllRows(){
return table.children()
}
Navigator getRow(int index){
return table.children()[index]
}
Navigator getRow(String name){
return table.children().find{it.text()==name}
}
Navigator getColumn(Navigator row, int column){
return row.children()[column]
}
}
et cette classe qui étend la classe ci-dessus:
class somePage extends TabledPage{
static content ={
table(required: false){$(By.xpath("//table[contains(@class,'w-100 table-striped wi-table-hover')]//tbody"))} // I want this to overwrite the table def in TabledPage
}
}
donc dans l'application que je teste la plupart des pages seulement avoir 1 table, mais dans certains cas il y a 2 tables (une est cachée selon la taille de l'écran) donc je veux pouvoir remplacer la définition de la table dans ce cas pour pointer vers une table spécifique, puis-je le faire sans outrepasser Les méthodes getRow ou celles-ci doivent-elles aussi être remplacées?
Juste pour donner un exemple de la façon dont j'appelle cette alswell:
at SomePage
getRow(0)
cela fonctionne, mais il utilise la définition de TabledPage de la table Navigator au lieu de la définition de somepage et je me demande s'il y a un moyen pour moi de le faire utiliser l'autre définition
J'ai fini par redéfinir la définition de table dans TabledModule pour travailler avec toutes les différentes pages, mais je suis toujours curieux de savoir si ce que je suggère est possible – switch201
Qu'est-ce qui vous fait croire _ qu'il utilise la définition TabledPage de la table Navigator au lieu de la définition somePage_? Je crois que le dépassement de contenu fonctionne comme prévu. Donc, je me demande si ce que vous avez observé n'était pas dû à la définition de 'TabledPage' utilisée, mais à cause de quelque chose de complètement différent. – erdi
@erdi Je vais essayer de re-tester quand j'ai une chance et vous faire savoir ce que je trouve – switch201