Deleted unnecessary libs
Added Element.kt for page classes Added pageTitle assertionmaster
parent
8d6079601c
commit
2f698b45b7
@ -0,0 +1,16 @@
|
||||
package core.web.elements
|
||||
|
||||
import com.microsoft.playwright.Locator
|
||||
import core.web.browser.InitialBrowser
|
||||
|
||||
open class Element {
|
||||
@JvmField
|
||||
protected var page = InitialBrowser.getInstance().getPage().context().pages().last()
|
||||
protected fun `$`(locator: String?): Locator {
|
||||
return page.context().pages().last().locator(locator)
|
||||
}
|
||||
|
||||
protected fun `$$`(locator: String?): List<Locator> {
|
||||
return page.context().pages().last().locator(locator).all()
|
||||
}
|
||||
}
|
||||
@ -1,14 +0,0 @@
|
||||
package projects.example
|
||||
|
||||
import core.properties.PropertiesReader
|
||||
import core.web.elements.Window
|
||||
import io.cucumber.java.en.Given
|
||||
|
||||
class ExamplePageStepDefs {
|
||||
private val window: Window = Window()
|
||||
|
||||
@Given("^user is on example URL$")
|
||||
fun openExampleURL() {
|
||||
window.navigateTo(PropertiesReader().urlsProperties().exampleURL)
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,9 @@
|
||||
package projects.example.pages
|
||||
|
||||
import core.web.elements.Element
|
||||
|
||||
class examplePage : Element() {
|
||||
val pageTitle =
|
||||
`$`("//div//h1")
|
||||
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package projects.example.stepDefs
|
||||
|
||||
import core.properties.PropertiesReader
|
||||
import core.web.elements.Window
|
||||
import projects.example.pages.examplePage
|
||||
|
||||
class ExamplePageStepDefs {
|
||||
private val window: Window = Window()
|
||||
private val examplePage: examplePage
|
||||
get() = examplePage()
|
||||
|
||||
fun openExampleURL() {
|
||||
window.navigateTo(PropertiesReader().urlsProperties().exampleURL)
|
||||
}
|
||||
|
||||
fun assertPageTitle(title: String){
|
||||
if (!examplePage.pageTitle.textContent().equals(title)) {
|
||||
throw AssertionError("Expected title: '$title', but found: '$examplePage.pageTitle'")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,10 @@
|
||||
import org.testng.annotations.Test
|
||||
import projects.example.ExamplePageStepDefs
|
||||
import projects.example.stepDefs.ExamplePageStepDefs
|
||||
|
||||
class UITestTask {
|
||||
@Test
|
||||
fun openExampleUrl() {
|
||||
ExamplePageStepDefs().openExampleURL()
|
||||
ExamplePageStepDefs().assertPageTitle("Example Domain")
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue