public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: Drag"); var elementId = req.Params.ElementId; var xSpeed = req.Params.XSpeed; var ySpeed = req.Params.YSpeed; var result = new Result(); try { var geometry = objectList.Get(elementId)?.Geometry; var x = geometry.CenterX; var y = geometry.CenterY; result.Value = inputGen.Drag(x, y, x + xSpeed, y + ySpeed); } catch (TimeoutException te) { Log.Debug(te.ToString()); result.Status = 44; result.Value = false; } catch (Exception e) { Log.Debug(e.ToString()); result.Value = false; } return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: Click"); var elementId = req.Params.ElementId; var result = new Result(); try { var geometry = objectList.Get(elementId)?.Geometry; #if WATCH Log.Debug($"geometry X:{geometry.X}, Y:{geometry.Y}, Width:{geometry.Width}, Height:{geometry.Height}"); #endif result.Value = inputGen.Click(geometry.CenterX, geometry.CenterY); } catch (TimeoutException te) { Log.Debug(te.ToString()); result.Status = 44; result.Value = false; } catch (Exception e) { Log.Debug(e.ToString()); result.Value = false; } return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: SetText"); var elementId = req.Params.ElementId; var newValue = req.Params.Text; var replace = req.Params.Replace; var result = new Result(); if (string.IsNullOrEmpty(elementId)) { var focused = objectList.GetFocusedElementIds(); foreach (var id in focused) { if (objectList.Get(id)?.HasProperty("Text") == true) { elementId = id; } } Log.Debug("Find last focused element to set text : " + elementId); } if (string.IsNullOrEmpty(elementId)) { Log.Debug("There is no element to set Text"); return(result); } var oldValue = objectList.Get(elementId)?.GetPropertyValue("Text"); if (!replace) { newValue = oldValue + newValue; } var ret = objectList.Get(elementId)?.SetPropertyValue("Text", newValue); if (ret == true) { result.Value = ret; } return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: GetDisplayed"); var elementId = req.Params.ElementId; var result = new Result(); var element = objectList.Get(elementId); result.Value = (element != null) ? true : false; return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: GetLocation"); var elementId = req.Params.ElementId; var result = new Result(); var geometry = objectList.Get(elementId)?.Geometry; if (geometry != null) { result.Value = new Result.Location(geometry.X, geometry.Y); } return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: GetText"); var elementId = req.Params.ElementId; var result = new Result(); var value = objectList.Get(elementId)?.Text; if (value != null) { result.Value = value; } return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: SetAttribute"); var elementId = req.Params.ElementId; var propertyName = req.Params.Attribute; var newValue = req.Params.Value; var result = new Result(); var ret = objectList.Get(elementId)?.SetPropertyValue(propertyName, newValue); if (ret == true) { result.Value = ret; } return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: GetSize"); var elementId = req.Params.ElementId; var result = new Result(); var geometry = objectList.Get(elementId)?.Geometry; if (geometry != null) { result.Value = new Result.Size(geometry.Width, geometry.Height); } else { result.Value = new Result.Size(); } return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: TouchMove"); var elementId = req.Params.ElementId; var xDown = req.Params.XDown; var yDown = req.Params.YDown; var xUp = req.Params.XUp; var yUp = req.Params.YUp; var steps = req.Params.Steps; var result = new Result(); try { if (!String.IsNullOrEmpty(elementId)) { var geometry = objectList.Get(elementId).Geometry; result.Value = inputGen.TouchMove(geometry.CenterX, geometry.CenterY, xUp, yUp, steps); } else if ((xDown > 0) && (yDown > 0) && (xUp > 0) && (yUp > 0)) { result.Value = inputGen.TouchMove(xDown, yDown, xUp, yUp, steps); } else { Log.Debug("Invalid values"); } } catch (TimeoutException te) { Log.Debug(te.ToString()); result.Status = 44; result.Value = false; } catch (Exception e) { Log.Debug(e.ToString()); result.Value = false; } return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: TouchDown"); var elementId = req.Params.ElementId; int x = req.Params.X; int y = req.Params.Y; var result = new Result(); try { if (!String.IsNullOrEmpty(elementId)) { var geometry = objectList.Get(elementId)?.Geometry; result.Value = inputGen.TouchDown(geometry.CenterX, geometry.CenterY); } else if ((x > 0) && (y > 0)) { result.Value = inputGen.TouchDown(x, y); } else { Log.Debug("Invalid values"); } } catch (TimeoutException te) { Log.Debug(te.ToString()); result.Status = 44; result.Value = false; } catch (Exception e) { Log.Debug(e.ToString()); result.Value = false; } return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { var strategy = req.Params.Strategy; var elementId = req.Params.ElementId; Log.Debug("Run: Find with " + strategy); var result = new Result(); List <Result.Element> list = new List <Result.Element>(); if (strategy == "automationId") { var obj = objectList.Get(elementId); if (obj != null) { list.Add(new Result.Element(elementId)); } } else if (strategy == "focused") { var ids = objectList.GetFocusedElementIds(); foreach (var id in ids) { list.Add(new Result.Element(id)); } } else { var ids = objectList.GetIdsByName(elementId); foreach (var id in ids) { list.Add(new Result.Element(id)); } } result.Value = list; return(result); }
public Result Run(Request req, IObjectList objectList, IInputGenerator inputGen) { Log.Debug("Run: GetAttribute"); var elementId = req.Params.ElementId; var propertyName = req.Params.Attribute; var result = new Result(); var value = objectList.Get(elementId)?.GetPropertyValue(propertyName); if (value != null) { result.Value = value.ToString(); Log.Debug(elementId + " element have " + propertyName + " property."); } else { Log.Debug(elementId + " element does not have " + propertyName + " property."); } return(result); }