创建Maven项目
1、File -> New -> Project -> Maven
2、一路next,会遇到让填GroupId,ArtiactId,GroupId是xxxxxxxxxxx,ArtifactId就是你点击pom.xml后的名称
3、在pom.xml里添加依赖(pom.xml相当于android项目的gradle),Alt + Insert,选中dependency,即可选择依赖。一般都会添加:单元测试:junit。
ps:添加依赖后如果External Libraries里没有导入,可手动导入一下
4、详细建类
1)、新建BaseTestCase,类上添加@FixMethodOrder
2)、写BaseTestCase的@beforeClass,在该方法里设置dricer的信息
@BeforeClass
public static void beforeClass1() throws MalformedURLException {
LogUtil.i(" -> baibai--BaseTest: beforeClass1");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, TestConfig.DEVICE_NAME);
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, TestConfig.AUTOMATION_NAME);
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, TestConfig.DEVICE_PLATFORM);
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, TestConfig.DEVICE_PLATFORM_VERSION);
capabilities.setCapability(Constant.CAPABILITY_APP_PACKAGE, TestConfig.APP_PACKAGE);
capabilities.setCapability(Constant.CAPABILITY_APP_ACTIVITY, TestConfig.APP_ACTIVITY);
// 初始化等待机制
driver = new AndroidDriver<AndroidElement>(new URL(TestConfig.SERVER_URL), capabilities);
WaitUtil.init(driver);
}
3)、写具体的TestCase,继承BaseTestCase,也要写在类上添加@FixMethodOrder,并写@beforeClass
@BeforeClass
public static void beforeClassTest1() throws MalformedURLException {
LogUtil.i(" -> baibai--Test1: beforeClassTest1");
//DesiredCapabilities capabilities = new DesiredCapabilities();
//capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, TestConfig.DEVICE_NAME);
//capabilities.setCapability(Constant.CAPABILITY_APP_PACKAGE, TestConfig.APP_PACKAGE);
//capabilities.setCapability(Constant.CAPABILITY_APP_ACTIVITY, TestConfig.APP_ACTIVITY);
//driver = new AndroidDriver<AndroidElement>(new URL(TestConfig.SERVER_URL), capabilities);
//WaitUtil.init(driver);
}
然后就可以在TestCase里添加具体的Test注解了
@Test
public void test1(){
LogUtil.i(" -> baibai--Test1: test1");
// WaitUtil.waitForActivity(".activity.ChooseActivity");
WaitUtil.waitForElementById("btn_choose_location").click();
WaitUtil.waitForElementById("btn_location_have_net").click();
}
ps:关于BeforeClass、Before、After、AfterClass、Test注解:
/**
* @BeforeClass – 表示在类中的任意public static void方法执行之前执行
* @AfterClass – 表示在类中的任意public static void方法执行之后执行
* @Before – 表示在任意使用@Test注解标注的public void方法执行之前执行
* @After – 表示在任意使用@Test注解标注的public void方法执行之后执行
* @Test – 使用该注解标注的public void方法会表示为一个测试方法
*
* @Beforeclass: 在类中只会被执行一次
* @Before: 在跑测试test001,test002时候都会各执行一次@Before部分的代码。
* @After: 释放资源对于每一个测试方法都要执行一次
* @Afterclass: 所有测试用例执行完才执行一次
*/