Wpis z mikrobloga

#testowanieoprogramowania #programowanie #csharp
Mam doświadczenie jedynie z JAVĄ i myślałem że uda mi się przepisać rozwiązanie na C# jednak widocznie tutaj selenium jest gorsze xD.
Chce stworzyć klasę "WaitForElement", która zawierałaby metody np waitUntilElementIsVisible, gdzie jako parametr przekazywałbym IWebElement.

IWebElementy w klasie Page wygląda u mnie tak:

public IWebElement orderTab => Driver.FindElement(By.XPath("//a[contains(@href,'order')]"));


Pomyślałem że moja klasa WaitForElement może wyglądać po prostu tak:

class WaitForElement

{

(...)

public void waitUntilElementIsVisible(IWebElement element)

{

WebDriverWait webDriverWait = GetWebDriverWait();

webDriverWait.Until ( ExpectedConditions.ElementIsVisible(element) );

}

Ale jednak nie xD bo ElementIsVisible wymaga "By", a nie "IWebElement", więc pomyślałem że może zrobię

webDriverWait.Until ( new ExpectedConditions

{ try {

element.display();

return true;}

catch(...){

return false}

});

(powyższy kod jest z pamięci więc czegoś brakuje pewnie xD)

Ale w momencie, gdy wywołuję metode ElementIsVisible to wywala mi błąd bo nie może znaleźć tego IWebElement, tak jakby w ogóle go nie przekazywał tylko najpierw sprawdził czy on jest widoczny xDD
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach