WebDriver/src/WebDriver-Tests/WebDriverTest.class.st

71 lines
1.7 KiB
Smalltalk

"
A WebDriverTest is a test class for testing the behavior of WebDriver
"
Class {
#name : #WebDriverTest,
#superclass : #TestCase,
#instVars : [
'webdriver'
],
#category : #'WebDriver-Tests'
}
{ #category : #running }
WebDriverTest >> setUp [
super setUp.
webdriver := WebDriver geckodriver.
webdriver session.
]
{ #category : #running }
WebDriverTest >> tearDown [
webdriver deleteSession.
super tearDown.
]
{ #category : #tests }
WebDriverTest >> testAttributeValue [
| element |
element := webdriver
url: 'http://info.cern.ch';
findElement: 'a' using: WDLocationStrategy cssSelector.
self
assert: (webdriver attribute: 'href' from: element)
equals: 'http://info.cern.ch/hypertext/WWW/TheProject.html'
]
{ #category : #tests }
WebDriverTest >> testFindElementInvalidCSSSelector [
self
should: [ webdriver url: 'https://ddg.co'; findElement: '' using: WDLocationStrategy cssSelector ]
raise: WDInvalidSelector.
]
{ #category : #tests }
WebDriverTest >> testFindElementValid [
| result |
result := webdriver url: 'https://ddg.co'; findElement: '.logo_homepage' using: WDLocationStrategy cssSelector.
self assert: (result isString).
]
{ #category : #tests }
WebDriverTest >> testFindElementsInvalidCSSSelector [
self
should: [ webdriver url: 'https://ddg.co'; findElements: '' using: WDLocationStrategy cssSelector ]
raise: WDInvalidSelector.
]
{ #category : #tests }
WebDriverTest >> testFindElementsValid [
| result |
result := webdriver url: 'https://ddg.co';
findElements: '.badge-link__bullet' using: WDLocationStrategy cssSelector.
self assert: result size equals: 3.
]
{ #category : #tests }
WebDriverTest >> testGetTitle [
self assert: (webdriver url: 'https://cern.ch'; title) equals: 'Home | CERN'
]