WDElement functionality

This commit is contained in:
Daniel Ziltener 2022-05-16 18:09:02 +02:00
parent f482637e2c
commit 4729a95bc9
3 changed files with 91 additions and 1 deletions

View File

@ -23,3 +23,10 @@ WDElementTest >> tearDown [
driver finalize.
super tearDown.
]
{ #category : #tests }
WDElementTest >> testAttributeReading [
| element |
driver url: ''.
element := driver findElement: '' using: ''.
]

View File

@ -24,6 +24,33 @@ WebDriverTest >> tearDown [
super tearDown.
]
{ #category : #tests }
WebDriverTest >> testFindElementInvalidCSSSelector [
self
should: [ webdriver url: 'https://ddg.co'; findElement: '' using: WDLocationStrategy cssSelector ]
raise: WDInvalidSelector.
]
{ #category : #tests }
WebDriverTest >> testFindElementValid [
self assert: ((webdriver url: 'https://ddg.co'; findElement: '.logo_homepage' using: WDLocationStrategy cssSelector) isMemberOf: WDElement).
]
{ #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'.

View File

@ -52,6 +52,22 @@ WDElement >> click [
using: #POST
]
{ #category : #testing }
WDElement >> computedLabel [
^ self driver
sendWithSession: { }
to: 'element/' , element , '/computedlabel'
using: #GET
]
{ #category : #testing }
WDElement >> computedRole [
^ self driver
sendWithSession: { }
to: 'element/' , element , '/computedrole'
using: #GET
]
{ #category : #accessing }
WDElement >> driver [
@ -76,6 +92,30 @@ WDElement >> element: anObject [
element := anObject
]
{ #category : #testing }
WDElement >> isEnabled [
^ self driver
sendWithSession: { }
to: 'element/' , element , '/enabled'
using: #GET
]
{ #category : #testing }
WDElement >> isSelected [
^ self driver
sendWithSession: { }
to: 'element/' , element , '/selected'
using: #GET
]
{ #category : #testing }
WDElement >> name [
^ self driver
sendWithSession: { }
to: 'element/' , element , '/name'
using: #GET
]
{ #category : #accessing }
WDElement >> property: attr [
@ -87,8 +127,24 @@ WDElement >> property: attr [
using: #GET
]
{ #category : #testing }
WDElement >> rect [
^ self driver
sendWithSession: { }
to: 'element/' , element , '/rect'
using: #GET
]
{ #category : #testing }
WDElement >> text [
^ self driver
sendWithSession: { }
to: 'element/' , element , '/text'
using: #GET
]
{ #category : #simulating }
WDElement >> type: text [
WDElement >> value: text [
self driver
sendWithSession: { (#text -> text) }