package cn.study.testapi.base.support;
import cn.study.testapi.base.enums.DrivenEnum;
import cn.study.testapi.base.load.InitLoadNew;
import cn.study.testapi.core.appium.server.AppiumServer;
import cn.study.testapi.core.driver.driven.factory.KeyDriverFactory;
import cn.study.testapi.core.driver.keydriver.AndroidKeyDriver;
import cn.study.testapi.core.openstf.DeviceApi;
import cn.study.testapi.utils.*;
import cn.study.testapi.core.keyaction.AndroidKeyAction;
import cn.study.testapi.core.entity.ComponentStep;
import org.apache.log4j.Logger;
import org.testng.ITestContext;
import org.testng.annotations.*;
import java.util.List;
public class AndroidKeywordTest extends BaseKeyTest {
protected static Logger logger = Logger.getLogger(AndroidKeywordTest.class);
protected AndroidKeyDriver driver = null;
//在testng suit之前启动appium server
@Parameters({"deviceSerial"})
@BeforeSuite(alwaysRun = true)
public void setUp(@Optional("deviceSerial") String deviceSerial, ITestContext context) {
InitLoadNew initLoadNew = new InitLoadNew(odinEnv, taskId);
// 初始化接口返回result
setCaseStepList(initLoadNew.getCaseStepList());
AppiumServer.startServer();//启动appium server
driver = MyAndroidKeyMobileDriver.getDriver(context); // 启动android app,根据自己的项目结构去设计此处获取driver的方式
}
@Test(alwaysRun = true, dataProvider = "keyword")
public void testCaseStep(List<ComponentStep> data) {
//执行你的用例
}
//aftersuit执行的动作,此处传一个【设备序列】参数,指明要释放的设备
@Parameters({"deviceSerial"})
@AfterSuite(alwaysRun = true)
public void tearDown(@Optional("deviceSerial") String deviceSerial) {
logger.info("========= tearDown ========");
DeviceApi.releaseDevice(deviceSerial);//释放移动设备
AppiumServer.stopAppiumServer();//用例执行完后停掉服务
JdbcUtil.close();
TempFileUtil.deleteOnExit();
driver.quit();
}
}
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) | Powered by Discuz! X3.2 |