appium自动化测试系列Android

启动appium服务端

打开终端输入appium &或者appium。默认ip:0.0.0.0,端口4723。当然ip和端口可以在启动的时候配置。

>appium -a 127.0.0.1 -p 4724  //直接以127.0.0.1:4724启动服务

-a对应IP地址,-p对应端口,这2个可以共同使用也可以单独使用。

>appium -a 127.0.0.1 //以127.0.0.1:4723启动服务
>appium -p 4724 //以0.0.0.0:4724启动服务

常见错误

Could not start REST http interface listener. The requested port may already be in use. Please make sure there is no other instance of this server running already.

ip和端口被占用,一般来说是已经通过这个IP和端口启动了服务,更换ip和端口就好。

Java客户端代码

使用Androidstudio搭建java开发环境上文已经说明。下面就是java脚本代码。

public class BaseAndroidTest {

    //Driver
    protected AppiumDriver<AndroidElement> driver;


    /**
     * 配置启动driver
     * @throws Exception
     */
    @Before
    public void setUp() throws Exception {

        //app的目录
        File appDir = new File("/Users/.../appium/AppiumTestApplication/doumisaastest/apps");
        //app的名字,对应你apps目录下的文件
        File app = new File(appDir, "xx.apk");
        //创建Capabilities
        DesiredCapabilities capabilities = new DesiredCapabilities();
        //设置要调试的模拟器的名字
        capabilities.setCapability("deviceName","minote");
        //设置模拟器的系统版本
        capabilities.setCapability("platformVersion", "6.0");
        capabilities.setCapability("platformName", "Android");
        //设置app的路径
        capabilities.setCapability("app", app.getAbsolutePath());
        //设置app的包名
        capabilities.setCapability("appPackage", "com.doumi.workadmin");
        //设置app的启动activity
        capabilities.setCapability("appActivity", ".activity.common.LaunchActivity");
        //启动driver
        driver = new AndroidDriver<>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);

    }

    @After
    public void tearDown() throws Exception {
        //测试完毕,关闭driver,不关闭将会导致会话还存在,下次启动就会报错
        driver.quit();
    }


    /**
     * 要执行的的测试方法
     */
    @Test
    public void addContact(){

    }
}

DesiredCapabilities参数配置。
capabilities.setCapability("platformVersion", "6.0");
capabilities.setCapability("app", app.getAbsolutePath());
//设置app的包名
capabilities.setCapability("appPackage", "com.doumi.workadmin");
//设置app的启动activity
capabilities.setCapability("appActivity", ".activity.common.LaunchActivity");
这几个参数是必须和自己的手机以及app一一对应。否则会报错。
platformVersion错误会导致无法连接手机。
其它参数错误会导致无法正确打开app。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,486评论 25 709
  • 本文章转载于搜狗测试 基于Appium的Android自动化测试(一) 项目技术结构:Java + Appium ...
    夜境阅读 4,121评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,174评论 19 139
  • 看到了粉色的叶边了么?漂亮么?爱肉肉的人称之为“仙”!我也被它美到了! 看看下面这幅图,你会觉得,一切都是骗人的!...
    一江秋水共长天阅读 2,607评论 0 0
  • “尽力为你们的学生识记、记熟和在记忆里保持教学大纲规定的教材而创造一个智力背景吧”,教学大纲规定的智力知识是抽象的...
    卓晓孟阅读 2,548评论 0 0

友情链接更多精彩内容