Act IObsoleteAction.GetNewAction() { ActUIElement NewAct = new ActUIElement(); NewAct.CopyInfoFrom(this); NewAct.Description = "[New] " + Description; NewAct.ElementType = eElementType.Unknown; switch (GenElementAction) { case eGenElementAction.Click: NewAct.ElementAction = ActUIElement.eElementAction.Click; break; case eGenElementAction.GetValue: NewAct.ElementAction = ActUIElement.eElementAction.GetValue; break; case eGenElementAction.SetValue: NewAct.ElementAction = ActUIElement.eElementAction.SetValue; break; default: throw new Exception("Converter error, missing Action translator for - " + GenElementAction); } //TODO: move to Act.cs so can be used by other converter switch (LocateBy) { case eLocateBy.ByID: if (Platform == ePlatformType.AndroidDevice) { NewAct.LocateBy = eLocateBy.ByResourceID; } else { NewAct.LocateBy = eLocateBy.ByID; } break; case eLocateBy.ByXPath: NewAct.LocateBy = eLocateBy.ByXPath; break; case eLocateBy.ByCSS: NewAct.LocateBy = eLocateBy.ByCSS; break; case eLocateBy.ByXY: NewAct.LocateBy = eLocateBy.ByXY; break; default: throw new Exception("Converter error, missing LocateBy translator for - " + LocateBy); //TODO: add all the rest } NewAct.ElementLocateValue = this.LocateValue; return(NewAct); }