Use of differents wait statement in Appium/Selenium with C#
wait.Until(ExpectedConditions.ElementExists(by));
using Appium_Automation.TestData;
using OpenQA.Selenium;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Support.PageObjects;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Android;
using System.Threading;
using ImageFormat = System.Drawing.Imaging.ImageFormat;
namespace Appium_Automation.TestCases
{
public class LoginApp
{
void HomepageLogin()
{
try{
AppiumDriver<AndroidElement> driver;
string app = "C:\\Users\\105798\\testapplications\\HealthifyMe.apk";
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.SetCapability("deviceName", "emulator-5554");
capabilities.SetCapability(CapabilityType.Version, "6.0");
capabilities.SetCapability(CapabilityType.BrowserName, "Android");
capabilities.SetCapability(CapabilityType.Platform, "Android");
capabilities.SetCapability("appPackage", "com.healthifyme.basic");
capabilities.SetCapability("appActivity", "com.healthifyme.basic.activities.NewLoginSignupActivity");
capabilities.SetCapability("NEW_COMAND_TIMEOUT", "50000");
capabilities.SetCapability("app", "C:\\Users\\105798\\testapplications\\HealthifyMe.apk");
Thread.Sleep(2000);
driver = new AndroidDriver<AndroidElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.FindElementById("id").Click();
}
catch{
Screenshot image = ((ITakesScreenshot)driver).GetScreenshot();
//Save the screenshot
image.SaveAsFile("C:\\Users\\105798\\Documents\\Visual Studio 2013\\Projects\\Appium_ Automation\\Appium_ Automation\\ScreenShot\\Screenshot.Png", ImageFormat.Png);
}
}
}
}
((AndroidDriver<AndroidElement>)driver).PressKeyCode(AndroidKeyCode.Keycode_HOME);
Implicity wait:
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));Explicit wait:
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(Time));wait.Until(ExpectedConditions.ElementExists(by));
Scrrenshot with appium C#
using Appium_Automation.TestData;
using OpenQA.Selenium;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Support.UI;
using OpenQA.Selenium.Support.PageObjects;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Android;
using System.Threading;
using ImageFormat = System.Drawing.Imaging.ImageFormat;
namespace Appium_Automation.TestCases
{
public class LoginApp
{
void HomepageLogin()
{
try{
AppiumDriver<AndroidElement> driver;
string app = "C:\\Users\\105798\\testapplications\\HealthifyMe.apk";
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.SetCapability("deviceName", "emulator-5554");
capabilities.SetCapability(CapabilityType.Version, "6.0");
capabilities.SetCapability(CapabilityType.BrowserName, "Android");
capabilities.SetCapability(CapabilityType.Platform, "Android");
capabilities.SetCapability("appPackage", "com.healthifyme.basic");
capabilities.SetCapability("appActivity", "com.healthifyme.basic.activities.NewLoginSignupActivity");
capabilities.SetCapability("NEW_COMAND_TIMEOUT", "50000");
capabilities.SetCapability("app", "C:\\Users\\105798\\testapplications\\HealthifyMe.apk");
Thread.Sleep(2000);
driver = new AndroidDriver<AndroidElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.FindElementById("id").Click();
}
catch{
Screenshot image = ((ITakesScreenshot)driver).GetScreenshot();
//Save the screenshot
image.SaveAsFile("C:\\Users\\105798\\Documents\\Visual Studio 2013\\Projects\\Appium_ Automation\\Appium_ Automation\\ScreenShot\\Screenshot.Png", ImageFormat.Png);
}
}
}
}