appium自启动测试实例

1、win7系统安装node(不做讲解)

2、使用npm安装appium,命令为:

npm install -g appium
npm install -g cnpm
npm install appium-doctor -g
注:win7使用 cmd命令进入命令行,然后依次输入以上命令即可

3、打开idea,创建一个demo,pom添加依赖如下:

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>7.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.appium/java-client -->
<dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>6.1.0</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.0</version>
</dependency>

4、创建StartDriver类启动driver,代码如下:

public static AndroidDriver startDingDriver(String platformVersion, String device, String udid, String port){
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);
    capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, Platform.ANDROID);
    capabilities.setCapability(MobileCapabilityType.NO_RESET, true);
    capabilities.setCapability("appPackage","com.alibaba.android.rimet");
    capabilities.setCapability("appActivity",".biz.LaunchHomeActivity");
    capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, platformVersion);
    capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, device);
    capabilities.setCapability(MobileCapabilityType.UDID, udid);
    capabilities.setCapability("newCommandTimeout", 3600);
    AndroidDriver driver = null;
    try {
        driver = new AndroidDriver(new URL("http://127.0.0.1:"+ port +"/wd/hub"), capabilities);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
    return driver;
}

5、 编写AppiumTest类自动启动appium并打开钉钉界面,代码如下:

public static AndroidDriver driver = null;
private AppiumDriverLocalService service;
private AppiumServiceBuilder builder;
private DesiredCapabilities cap;
private BaseCase appiumServer;
private StartDriver startDriver;
public void startServer() {
    cap = new DesiredCapabilities();
    cap.setCapability("noReset", "false");
    builder = new AppiumServiceBuilder();
    builder.withIPAddress("127.0.0.1");
    builder.usingPort(4723);
    builder.withCapabilities(cap);
    builder.withArgument(GeneralServerFlag.SESSION_OVERRIDE);
    builder.withArgument(GeneralServerFlag.LOG_LEVEL,"error");
    service = AppiumDriverLocalService.buildService(builder);
    service.start();
}
public void stopServer() {
    service.stop();
}

public boolean checkIfServerIsRunnning(int port) {

    boolean isServerRunning = false;
    ServerSocket serverSocket;
    try {
        serverSocket = new ServerSocket(port);
        serverSocket.close();
    } catch (IOException e) {
        isServerRunning = true;
    } finally {
        serverSocket = null;
    }
    return isServerRunning;
}

public static AndroidDriver getDriver() {
    return driver;
}

@BeforeTest
private void setUp(){
    appiumServer= new BaseCase();
    int port = 4723;
    if(!appiumServer.checkIfServerIsRunnning(port)) {
        appiumServer.startServer();
    }

}
@Test
public void startDingTest(){
    String platformVersion = "10";
    String deviceName = "自己手机名字";
    String udid = "*******自己手机的uuid";
    String port2= "4723";
    driver=StartDriver.startDingDriver(platformVersion, deviceName, udid, port2);
}

@AfterTest
private void quit(){
    if(driver != null){
        driver.quit();
        appiumServer.stopServer();
    }
}

6、创建testng.xml运行测试类,代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="dingding" thread-count="1">

    <test name="测试钉钉">
        <classes>
            <class name="com.test.AppiumTest"></class>
        </classes>
    </test>
</suite>

7、运行效果如下

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值