package samples.test.Tests import java.time.Duration import java.util.concurrent.TimeUnit import scala.collection.JavaConverters.asScalaSetConverter import scala.language.postfixOps import scala.util.Failure import scala.util.Success import scala.util.Try import org.jsoup.Jsoup import org.jsoup.nodes.Document import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.openqa.selenium.chrome.ChromeOptions import org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.support.ui.WebDriverWait import org.openqa.selenium.By import java.time.Duration import scala.collection.JavaConverters.asScalaBufferConverter import scala.language.implicitConversions import scala.util.Random import org.jsoup.Jsoup import org.openqa.selenium.By import org.testng.annotations._ import PageObjectModel.MainPage import PageObjectModel.WebDriverInit import org.openqa.selenium.chrome.ChromeDriver import org.openqa.selenium.support.ui.WebDriverWait import org.openqa.selenium.WebElement import org.scalatest.Matchers._ import org.scalatest.testng.TestNGSuiteLike import org.testng.Reporter import org.openqa.selenium.Keys import org.openqa.selenium.chrome.ChromeDriver class MainPage(implicit val driver: ChromeDriver) extends Utils with ElementsMainPage with ElementImplicits { val dataSenderPage: DataSenderPage = new DataSenderPage() } object MainPage { def apply(implicit driver: ChromeDriver) = new MainPage() } trait ElementsMainPage extends ElementImplicits { this: MainPage => def usernameInput: List[WebElement] = driver.findElements(Xpath("//*[@id='1helauaoii80']")).asScala.toList def passwordInput: List[WebElement] = driver.findElements(Xpath("//*[@id='6afbbvfn0560']")).asScala.toList def loginButton: List[WebElement] = driver.findElements(Xpath("//*[@id='pp-login-1']/div[4]/input")).asScala.toList }