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 org.testng.annotations.Test
|
||||||
import projects.example.ExamplePageStepDefs
|
import projects.example.stepDefs.ExamplePageStepDefs
|
||||||
|
|
||||||
class UITestTask {
|
class UITestTask {
|
||||||
@Test
|
@Test
|
||||||
fun openExampleUrl() {
|
fun openExampleUrl() {
|
||||||
ExamplePageStepDefs().openExampleURL()
|
ExamplePageStepDefs().openExampleURL()
|
||||||
|
ExamplePageStepDefs().assertPageTitle("Example Domain")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue