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); }
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); }
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); }
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); }