Example #1
0
        public ExecutionResult Execute(AndroidTestHelper helper)
        {
            var driver = helper.Driver;
            var report = helper.Reporter;

            driver.ResetApp();

            var loginPage = PageFactory.InitElements <LoginPage>(driver);

            report.Step("Launched TestProject Demo app", loginPage.Displayed);

            loginPage.Login(name, password);
            var profilePage = PageFactory.InitElements <ProfilePage>(driver);

            report.Step($"Logged in with {name}:{password}", profilePage.Displayed);

            profilePage.HideKeyboardIfVisible();
            profilePage.TypeCountry(country);
            profilePage.TypeAddress(address);
            profilePage.TypeEmail(email);

            // Type random phone number using Addon proxy
            var             actionProxy = CAndroidExampleAddon.CreateTypeRandomPhoneAction("1", 7);
            ExecutionResult result      = helper.ExecuteProxy(actionProxy, profilePage.GetPhoneElement());

            report.Step("Type random phone number using Addon proxy", result.Equals(ExecutionResult.Passed));

            // Save profile
            profilePage.Save();

            report.Step("Profile information saved", profilePage.Saved, TakeScreenshotConditionType.Always);

            report.Result = "Test completed successfully";
            return(ExecutionResult.Passed);
        }
Example #2
0
        public ExecutionResult Execute(AndroidTestHelper helper)
        {
            // Get driver initialized by TestProject Agent
            // No need to specify browser type, it can be done later via UI
            var driver = helper.Driver;

            driver.ResetApp();

            driver.FindElementById("name").SendKeys("John Smith");
            driver.FindElementById("password").SendKeys("12345");
            driver.FindElementById("login").Click();

            if (driver.FindElements(By.Id("logout")).Count > 0)
            {
                return(ExecutionResult.Passed);
            }
            return(ExecutionResult.Failed);
        }
        public ExecutionResult Execute(AndroidTestHelper helper)
        {
            var driver = helper.Driver;

            driver.ResetApp();

            // Login using provided credentials
            var loginPage = PageFactory.InitElements <LoginPage>(driver);

            // Perform login
            loginPage.Login(name, password);

            // Complete profile form
            var profilePage = PageFactory.InitElements <ProfilePage>(driver);

            profilePage.UpdateProfile(country, address, email, phone);

            return(profilePage.Saved ? ExecutionResult.Passed : ExecutionResult.Failed);
        }
Example #4
0
        public ExecutionResult Execute(AndroidTestHelper helper)
        {
            var driver = helper.Driver;
            var report = helper.Reporter;

            driver.ResetApp();

            var loginPage = PageFactory.InitElements <LoginPage>(driver);

            report.Step("Launched TestProject Demo app", loginPage.Displayed);

            loginPage.Login(name, password);

            var profilePage = PageFactory.InitElements <ProfilePage>(driver);

            report.Step($"Logged in with {name}:{password}", profilePage.Displayed);

            profilePage.UpdateProfile(country, address, email, phone);

            report.Step("Profile information saved", profilePage.Saved, TakeScreenshotConditionType.Always);

            report.Result = "Test completed successfully";
            return(ExecutionResult.Passed);
        }
Example #5
0
        public ExecutionResult Execute(AndroidTestHelper helper)
        {
            var  driver = helper.Driver;
            var  report = helper.Reporter;
            bool boolResult;
            By   by;

            // set timeout for driver actions (similar to step timeout)
            driver.Timeout = 25000;

            // 1. Reset App
            // Clear application data and restart (Auto-generated)
            boolResult = driver.TestProject().ResetApp();
            report.Step("Reset App", boolResult, TakeScreenshotConditionType.Failure);

            // 2. Confirm 'Genres' is visible
            by         = By.Id("com.example.android.uamp:id/title");
            boolResult = driver.TestProject().IsVisible(by);
            report.Step("Is 'Genres' visible?", boolResult, TakeScreenshotConditionType.Failure);

            // 3. Select 'Genres'
            by         = By.Id("com.example.android.uamp:id/title");
            boolResult = driver.TestProject().Tap(by);
            report.Step("Tap 'Genres'", boolResult, TakeScreenshotConditionType.Failure);

            // 4. Confirm 'Jazz & Blues' is present
            by         = By.XPath("//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.DrawerLayout[1]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ListView[1]/android.widget.RelativeLayout[3]/android.widget.LinearLayout[1]/android.widget.TextView[1]");
            boolResult = driver.TestProject().IsPresent(by);
            report.Step("Is 'Jazz & Blues' present?", boolResult, TakeScreenshotConditionType.Failure);

            // 5. Select 'Jazz & Blues'
            by         = By.XPath("//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.DrawerLayout[1]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ListView[1]/android.widget.RelativeLayout[3]/android.widget.LinearLayout[1]/android.widget.TextView[1]");
            boolResult = driver.TestProject().Tap(by);
            report.Step("Tap 'Jazz & Blues'", boolResult, TakeScreenshotConditionType.Failure);

            // 6. Confirm 'Play item' is clickable
            by         = By.XPath("//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.DrawerLayout[1]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ListView[1]/android.widget.RelativeLayout[1]/android.widget.ImageView[1]");
            boolResult = driver.TestProject().IsClickable(by);
            report.Step("Is 'Play item' clickable?", boolResult, TakeScreenshotConditionType.Failure);

            // 7. Select 'Play item'
            by         = By.XPath("//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.support.v4.widget.DrawerLayout[1]/android.widget.RelativeLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ListView[1]/android.widget.RelativeLayout[1]/android.widget.ImageView[1]");
            boolResult = driver.TestProject().Tap(by);
            report.Step("Tap 'Play item'", boolResult, TakeScreenshotConditionType.Failure);

            // 8. Confirm 'play or pause1' is clickable
            by         = By.Id("com.example.android.uamp:id/play_pause");
            boolResult = driver.TestProject().IsClickable(by);
            report.Step("Is 'play or pause1' clickable?", boolResult, TakeScreenshotConditionType.Failure);

            // 9. Select 'play or pause1'
            by         = By.Id("com.example.android.uamp:id/play_pause");
            boolResult = driver.TestProject().Tap(by);
            report.Step("Tap 'play or pause1'", boolResult, TakeScreenshotConditionType.Failure);

            // 10. Select device back button
            boolResult = driver.TestProject().SendKeyEvent(4);
            report.Step("Send key event '4'", boolResult, TakeScreenshotConditionType.Failure);

            // 11. Select device back button
            boolResult = driver.TestProject().SendKeyEvent(4);
            report.Step("Send key event '4'", boolResult, TakeScreenshotConditionType.Failure);

            // 12. Select device back button to Exit app
            boolResult = driver.TestProject().SendKeyEvent(4);
            report.Step("Send key event '4'", boolResult, TakeScreenshotConditionType.Failure);

            return(ExecutionResult.Passed);
        }