6
6
using Aquality . Selenium . Browsers ;
7
7
using Aquality . Selenium . Configurations ;
8
8
using Aquality . Selenium . Core . Localization ;
9
+ using Aquality . Selenium . Core . Utilities ;
9
10
using Aquality . Selenium . Elements . Interfaces ;
10
11
11
12
namespace Aquality . Selenium . Elements . Actions
@@ -29,6 +30,8 @@ public JsActions(IElement element, string elementType, ILocalizedLogger logger,
29
30
30
31
private Browser Browser => AqualityServices . Browser ;
31
32
33
+ private IElementActionRetrier ActionRetrier => AqualityServices . Get < IElementActionRetrier > ( ) ;
34
+
32
35
protected ILocalizedLogger Logger { get ; }
33
36
34
37
/// <summary>
@@ -157,18 +160,20 @@ public string GetXPath()
157
160
/// <returns>Point object.</returns>
158
161
public Point GetViewPortCoordinates ( )
159
162
{
160
- var coordinates = ExecuteScript < IList < object > > ( JavaScript . GetViewPortCoordinates ) . Select ( item => double . Parse ( item . ToString ( ) ) ) . ToArray ( ) ;
163
+ var coordinates = ExecuteScript < IList < object > > ( JavaScript . GetViewPortCoordinates )
164
+ . Select ( item => double . Parse ( item . ToString ( ) ) )
165
+ . ToArray ( ) ;
161
166
return new Point ( ( int ) Math . Round ( coordinates [ 0 ] ) , ( int ) Math . Round ( coordinates [ 1 ] ) ) ;
162
167
}
163
168
164
169
protected T ExecuteScript < T > ( JavaScript scriptName , params object [ ] arguments )
165
170
{
166
- return Browser . ExecuteScript < T > ( scriptName , ResolveArguments ( arguments ) ) ;
171
+ return ActionRetrier . DoWithRetry ( ( ) => Browser . ExecuteScript < T > ( scriptName , ResolveArguments ( arguments ) ) ) ;
167
172
}
168
173
169
174
protected void ExecuteScript ( JavaScript scriptName , params object [ ] arguments )
170
175
{
171
- Browser . ExecuteScript ( scriptName , ResolveArguments ( arguments ) ) ;
176
+ ActionRetrier . DoWithRetry ( ( ) => Browser . ExecuteScript ( scriptName , ResolveArguments ( arguments ) ) ) ;
172
177
}
173
178
174
179
protected internal void LogElementAction ( string messageKey , params object [ ] args )
0 commit comments