Appium
Eclipse
编写测试用例时,测试用例务必要按照Appium的框架结构来编写。主要由@Before、@Test、@After三部分组成。实例:public class MainTest {private AndroidDriver driver;@Before public void setUp() throws Exception { //初始化appium File classpathRoot = new File(System.getProperty('user.dir')); File appDir = new File(classpathRoot, 'apk'); File app = new File(appDir, 'PhoneWo-0.6.70-3-0-test-hz.apk'); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability('platformName', 'Android'); capabilities.setCapability('deviceName',''); //capabilities.setCapability('device','Android'); capabilities.setCapability(CapabilityType.BROWSER_NAME, ''); capabilities.setCapability(CapabilityType.VERSION, '4.4'); capabilities.setCapability(CapabilityType.PLATFORM, 'WINDOWS'); capabilities.setCapability('app', app.getAbsolutePath()); capabilities.setCapability('app-package', 'cn.langma.phonewo'); capabilities.setCapability('app-activity', '.PPGuideUI');driver = new AndroidDriver(new URL('http://127.0.0.1:4723/wd/hub'),capabilities); } @After public void tearDown() throws Exception {if (driver != null) {driver.quit();} } @Testpublic void PhoneplusTest() throws Exception {//执行启动引导测试System.err.println('引导模块begin.......................');new RegAndLogin().GuideTest();System.err.println('引导模块over........................');}} 从以上代码来看:@Before后面的代码块主要是初始化测试环境的脚本,在执行测试用例之前运行@Test后面的代码块主要是执行测试用例@After后面的代码块主要是处理执行测试用例后的收尾工作 @Before、@Test、@After三个标记在同一个项目中是唯一的。
通过控件的text属性定位控件是最常用的一种方法:By.name方法实例1:WebElement download = driver.findElement(By.name('下载安装')); 该方法通过直接查找当前界面上所有的控件来比较每个控件的text属性是否如预期值来定位控件。实例2:List
通过此方法定位控件存在的一个问题是很容易发生重复。实例1: WebElement ledit = driver.findElement(By.className('android.widget.EditText'));ledit.sendKeys('21085'); 实例2:List
在Android API Level18及其以上的版本增加了一个Android控件的属性ResourceId, 所以要注意在使用这种方法之前先确保你的目标测试设备使用的都是API Level 18以上的版本。实例:WebElement el = driver.findElement(By.id('cn.langma.phonewo:id/user_name')); 除了以上常用的方法外,还有xpath等,这里不再一一说明了。