DataSenderPage.scala
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

import org.openqa.selenium.chrome.ChromeDriver

class DataSenderPage(implicit val driver: ChromeDriver) extends Utils with Elements with ElementImplicits

object DataSenderPage {

	def apply(implicit driver: ChromeDriver) = new DataSenderPage()

}

trait Elements extends ElementImplicits {
	this: DataSenderPage =>

	def ableSmallBox: List[WebElement] = driver.findElements(Xpath("//*[@id='able_small']")).asScala.toList

	def ableMediumBox: List[WebElement] = driver.findElements(Xpath("//*[@id='able_medium']")).asScala.toList

	def ableHeavyBox: List[WebElement] = driver.findElements(Xpath("//*[@id='able_heavy']")).asScala.toList

	def ableGpu: List[WebElement] = driver.findElements(Xpath("//*[@id='gpu']")).asScala.toList

	def ableAcu: List[WebElement] = driver.findElements(Xpath("//*[@id='acu']")).asScala.toList

	def ableGpcu: List[WebElement] = driver.findElements(Xpath("//*[@id='gpcu']")).asScala.toList

	def ableStairs: List[WebElement] = driver.findElements(Xpath("//*[@id='stairs']")).asScala.toList

	def remarks: List[WebElement] = driver.findElements(Xpath("//*[@id='handler_remark']")).asScala.toList

	def submitHandler: List[WebElement] = driver.findElements(Xpath("//*[@id='handler_submit']")).asScala.toList

	def tableAbleSmall: List[WebElement] = driver.findElements(Xpath("//*[@id=\"table_div\"]/div/div/table/tbody/tr[1]/td[5]")).asScala.toList

	def successInsert: List[WebElement] = driver.findElements(Xpath("//*[@id=\"response_div\"]")).asScala.toList
}