@@ -298,7 +298,9 @@ public void MovingMouseToRelativeElementOffset()
298
298
driver . Url = mouseTrackerPage ;
299
299
300
300
IWebElement trackerDiv = driver . FindElement ( By . Id ( "mousetracker" ) ) ;
301
- new Actions ( driver ) . MoveToElement ( trackerDiv , 95 , 195 ) . Build ( ) . Perform ( ) ;
301
+ Size size = trackerDiv . Size ;
302
+
303
+ new Actions ( driver ) . MoveToElement ( trackerDiv , 95 - size . Width / 2 , 195 - size . Height / 2 ) . Build ( ) . Perform ( ) ;
302
304
303
305
IWebElement reporter = driver . FindElement ( By . Id ( "status" ) ) ;
304
306
@@ -311,7 +313,9 @@ public void MovingMouseToRelativeZeroElementOffset()
311
313
driver . Url = mouseTrackerPage ;
312
314
313
315
IWebElement trackerDiv = driver . FindElement ( By . Id ( "mousetracker" ) ) ;
314
- new Actions ( driver ) . MoveToElement ( trackerDiv , 0 , 0 ) . Perform ( ) ;
316
+ Size size = trackerDiv . Size ;
317
+
318
+ new Actions ( driver ) . MoveToElement ( trackerDiv , size . Width / 2 , size . Height / 2 ) . Perform ( ) ;
315
319
316
320
IWebElement reporter = driver . FindElement ( By . Id ( "status" ) ) ;
317
321
@@ -343,13 +347,17 @@ public void MoveMouseByOffsetOverAndOutOfAnElement()
343
347
int shiftX = redboxPosition . X - greenboxPosition . X ;
344
348
int shiftY = redboxPosition . Y - greenboxPosition . Y ;
345
349
346
- new Actions ( driver ) . MoveToElement ( greenbox , 2 , 2 ) . Perform ( ) ;
350
+ Size greenBoxSize = greenbox . Size ;
351
+ int xOffset = 2 - greenBoxSize . Width / 2 ;
352
+ int yOffset = 2 - greenBoxSize . Height / 2 ;
353
+
354
+ new Actions ( driver ) . MoveToElement ( greenbox , xOffset , yOffset ) . Perform ( ) ;
347
355
WaitFor ( ElementColorToBe ( redbox , Color . Green ) , "element color was not green" ) ;
348
356
349
- new Actions ( driver ) . MoveToElement ( greenbox , 2 , 2 ) . MoveByOffset ( shiftX , shiftY ) . Perform ( ) ;
357
+ new Actions ( driver ) . MoveToElement ( greenbox , xOffset , yOffset ) . MoveByOffset ( shiftX , shiftY ) . Perform ( ) ;
350
358
WaitFor ( ElementColorToBe ( redbox , Color . Red ) , "element color was not red" ) ;
351
359
352
- new Actions ( driver ) . MoveToElement ( greenbox , 2 , 2 ) . MoveByOffset ( shiftX , shiftY ) . MoveByOffset ( - shiftX , - shiftY ) . Perform ( ) ;
360
+ new Actions ( driver ) . MoveToElement ( greenbox , xOffset , yOffset ) . MoveByOffset ( shiftX , shiftY ) . MoveByOffset ( - shiftX , - shiftY ) . Perform ( ) ;
353
361
WaitFor ( ElementColorToBe ( redbox , Color . Green ) , "element color was not red" ) ;
354
362
}
355
363
@@ -360,15 +368,16 @@ public void CanMouseOverAndOutOfAnElement()
360
368
361
369
IWebElement greenbox = driver . FindElement ( By . Id ( "greenbox" ) ) ;
362
370
IWebElement redbox = driver . FindElement ( By . Id ( "redbox" ) ) ;
363
- Size size = redbox . Size ;
371
+ Size greenSize = greenbox . Size ;
372
+ Size redSize = redbox . Size ;
364
373
365
- new Actions ( driver ) . MoveToElement ( greenbox , 1 , 1 ) . Perform ( ) ;
374
+ new Actions ( driver ) . MoveToElement ( greenbox , 1 - greenSize . Width / 2 , 1 - greenSize . Height / 2 ) . Perform ( ) ;
366
375
Assert . That ( redbox . GetCssValue ( "background-color" ) , Is . EqualTo ( "rgba(0, 128, 0, 1)" ) . Or . EqualTo ( "rgb(0, 128, 0)" ) ) ;
367
376
368
377
new Actions ( driver ) . MoveToElement ( redbox ) . Perform ( ) ;
369
378
Assert . That ( redbox . GetCssValue ( "background-color" ) , Is . EqualTo ( "rgba(255, 0, 0, 1)" ) . Or . EqualTo ( "rgb(255, 0, 0)" ) ) ;
370
379
371
- new Actions ( driver ) . MoveToElement ( redbox , size . Width + 2 , size . Height + 2 ) . Perform ( ) ;
380
+ new Actions ( driver ) . MoveToElement ( redbox , redSize . Width / 2 + 2 , redSize . Height / 2 + 2 ) . Perform ( ) ;
372
381
Assert . That ( redbox . GetCssValue ( "background-color" ) , Is . EqualTo ( "rgba(0, 128, 0, 1)" ) . Or . EqualTo ( "rgb(0, 128, 0)" ) ) ;
373
382
}
374
383
0 commit comments