由于涉及到了多个page,这里只贴部分Page类,如Account类,用于获取登录操作
public class Account extends BasePage { /** * @Title: Account * @Description: TODO * @param @param driver * @throws */ public Account(Orange driver) { super(driver); // TODO Auto-generated constructor stub } /** * @Title: login * @Description: TODO * @param @param driver * @return void * @throws */ public void login() { driver.clickOnElement(By.name("网易通行证登录")); driver.sendKeys(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIATextField[1]"), PropertiesHandle.readValue("passport_2")); driver.sendKeys(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]"), PropertiesHandle.readValue("password")); driver.clickOnElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIAButton[1]")); } /** * @Title: login * @Description: TODO * @param @param driver * @param @param passport * @param @param password * @return void * @throws */ public void login(String passport, String password) { driver.clickOnElement(By.name("网易通行证登录")); driver.sendKeys(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIATextField[1]"), passport); driver.sendKeys(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]"), password); driver.clickOnElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIAButton[1]")); } /** * @Title: login * @Description: TODO * @param @param type * @param @param passport * @param @param password * @return void * @throws */ public void login(String type, String passport, String password) { driver.clickOnElement(By.name(type)); driver.sendKeys(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIATextField[1]"), passport); driver.sendKeys(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIASecureTextField[1]"), password); driver.clickOnElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIAButton[1]")); } /** * @Title: login * @Description: TODO * @param @param type * @return void * @throws */ public void login(String type) { driver.clickOnElement(By.name(type)); } /** * @Title: logout * @Description: TODO * @param @param driver * @return void * @throws */ public void logout() { driver.clickOnElement(By.name("退出当前帐号")); driver.clickOnElement(By.name("确定")); } } |
主要的公共类:Orange,主要借鉴了孔庆云同学已经封装好的方法,并进行一些改进后直接使用,方便快捷。
目前Appium已经到了1.1版本,这款自动化工具还是不错的,跨平台,跨语言支持都比较好,稳定性也在逐步提升。