コード例 #1
0
        protected override void Execute(CodeActivityContext context)
        {
            AndroidDriver <AndroidElement> driver;

            // Inherit driver from scope activity OR from input (if out of context)
            try
            {
                driver = context.DataContext.GetProperties()["Driver"].GetValue(context.DataContext) as AndroidDriver <AndroidElement>;
            }
            catch
            {
                driver = Driver.Get(context);
            }

            // Receive fields
            int startx = StartX.Get(context);
            int starty = StartY.Get(context);
            int endx   = EndX.Get(context);
            int endy   = EndY.Get(context);
            int delay  = Delay.Get(context);

            // Apply delay
            Thread.Sleep(delay);

            // Tap on the element
            new TouchAction(driver).Press(startx, starty).Wait(300).MoveTo(endx, endy).Release().Perform();
        }
コード例 #2
0
        // Add wait for element

        protected override void Execute(CodeActivityContext context)
        {
            AndroidDriver <AndroidElement> driver;

            // Inherit driver from scope activity OR from input (if out of context)
            try
            {
                driver = context.DataContext.GetProperties()["Driver"].GetValue(context.DataContext) as AndroidDriver <AndroidElement>;
            }
            catch
            {
                driver = Driver.Get(context);
            }

            // Receive fields
            string filename = Filename.Get(context) ?? "capture";
            int    delay    = Delay.Get(context);

            // Set up path
            string defaultPath = driver.Capabilities.GetCapability(AndroidMobileCapabilityType.AndroidScreenshotPath) as string;
            string fullPath    = Path.Combine(defaultPath, filename + ".png");

            Thread.Sleep(delay);

            // Take screenshot
            Screenshot s = driver.GetScreenshot();

            s.SaveAsFile(fullPath, ScreenshotImageFormat.Png);
        }
コード例 #3
0
        protected override void Execute(CodeActivityContext context)
        {
            AndroidDriver <AndroidElement> driver;

            // Inherit driver from scope activity OR from input (if out of context)
            try
            {
                driver = context.DataContext.GetProperties()["Driver"].GetValue(context.DataContext) as AndroidDriver <AndroidElement>;
            }
            catch
            {
                driver = Driver.Get(context);
            }

            // Get delay
            int delay = Delay.Get(context);

            // If coordinates are to be used
            if (UseCoordinates)
            {
                int x = X.Get(context);
                int y = Y.Get(context);

                // Apply delay
                Thread.Sleep(delay);

                // Tap on the element
                new TouchAction(driver).Tap(x, y).Perform();
            }
            // Else find and tap element
            else
            {
                // Receive fields
                string         selector     = Selector.Get(context);
                int            index        = Index.Get(context);
                AndroidElement inputElement = Element.Get(context);

                // Logic to determine target element
                AndroidElement element;
                // User entered an element
                if (inputElement != null)
                {
                    element = inputElement;
                }
                // User didn't enter an element
                else
                {
                    // Get element depending on SelectBy enum
                    if (!MultipleElements)
                    {
                        element = Helpers.GetElement(driver, SelectType, selector);
                    }
                    else
                    {
                        element = Helpers.GetElementFromList(driver, SelectType, selector, index);
                    }
                }

                // Apply delay
                Thread.Sleep(delay);

                // Tap on the element
                if (driver.IsBrowser)
                {
                    element.Click();
                }
                else
                {
                    new TouchAction(driver).Tap(element).Perform();
                }
            }
        }
コード例 #4
0
        // Module defining this command


        // Optional custom code for this activity


        /// <summary>
        /// Returns a configured instance of System.Management.Automation.PowerShell, pre-populated with the command to run.
        /// </summary>
        /// <param name="context">The NativeActivityContext for the currently running activity.</param>
        /// <returns>A populated instance of Sytem.Management.Automation.PowerShell</returns>
        /// <remarks>The infrastructure takes responsibility for closing and disposing the PowerShell instance returned.</remarks>
        protected override ActivityImplementationContext GetPowerShell(NativeActivityContext context)
        {
            System.Management.Automation.PowerShell invoker       = global::System.Management.Automation.PowerShell.Create();
            System.Management.Automation.PowerShell targetCommand = invoker.AddCommand(PSCommandName);

            // Initialize the arguments

            if (AsJob.Expression != null)
            {
                targetCommand.AddParameter("AsJob", AsJob.Get(context));
            }

            if (DcomAuthentication.Expression != null)
            {
                targetCommand.AddParameter("DcomAuthentication", DcomAuthentication.Get(context));
            }

            if (WsmanAuthentication.Expression != null)
            {
                targetCommand.AddParameter("WsmanAuthentication", WsmanAuthentication.Get(context));
            }

            if (Protocol.Expression != null)
            {
                targetCommand.AddParameter("Protocol", Protocol.Get(context));
            }

            if (BufferSize.Expression != null)
            {
                targetCommand.AddParameter("BufferSize", BufferSize.Get(context));
            }

            if (ComputerName.Expression != null)
            {
                targetCommand.AddParameter("ComputerName", ComputerName.Get(context));
            }

            if (Count.Expression != null)
            {
                targetCommand.AddParameter("Count", Count.Get(context));
            }

            if (Credential.Expression != null)
            {
                targetCommand.AddParameter("Credential", Credential.Get(context));
            }

            if (Source.Expression != null)
            {
                targetCommand.AddParameter("Source", Source.Get(context));
            }

            if (Impersonation.Expression != null)
            {
                targetCommand.AddParameter("Impersonation", Impersonation.Get(context));
            }

            if (ThrottleLimit.Expression != null)
            {
                targetCommand.AddParameter("ThrottleLimit", ThrottleLimit.Get(context));
            }

            if (TimeToLive.Expression != null)
            {
                targetCommand.AddParameter("TimeToLive", TimeToLive.Get(context));
            }

            if (Delay.Expression != null)
            {
                targetCommand.AddParameter("Delay", Delay.Get(context));
            }

            if (Quiet.Expression != null)
            {
                targetCommand.AddParameter("Quiet", Quiet.Get(context));
            }


            return(new ActivityImplementationContext()
            {
                PowerShellInstance = invoker
            });
        }