51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5415|回复: 3
打印 上一主题 下一主题

[Appium] 【我分享】 appium 中部分 api 的使用方法

[复制链接]
  • TA的每日心情
    慵懒
    2017-7-9 10:38
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]测试连长

    跳转到指定楼层
    #
    发表于 2015-1-9 08:30:17 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
            使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java-client-2.1.0-javadoc。
    1.使用AndroidDriver,其已经继承了AppiumDriver
    private AndroidDriver driver;    @Before    public void setUp() throws Exception {        DesiredCapabilities capabilities = new DesiredCapabilities();        capabilities.setCapability("deviceName", "Android Emulator");        capabilities.setCapability("platformVersion", "4.4");        capabilities.setCapability("platformName", "Android");        capabilities.setCapability("appPackage", "com.android.settings");        capabilities.setCapability("appActivity", ".Settings");        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),                capabilities);    }    @After    public void tearDown() throws Exception {        driver.quit();    }2.截屏并保存至本地
    File screen = driver.getScreenshotAs(OutputType.FILE);        File screenFile = new File("d:\\screen.png");        try {            FileUtils.copyFile(screen, screenFile); //commons-io-2.0.1.jar中的api        } catch (IOException e) {            e.printStackTrace();        } 3.push文件、pull文件
    File file = new File("d:\\test.txt"); //test.txt内容为"testerHome"        String content = null;        try {            content = FileUtils.readFileToString(file);        } catch (IOException e) {            e.printStackTrace();        }        byte[] data = Base64.encodeBase64(content.getBytes());        driver.pushFile("sdcard/test.txt", data);        byte[] resultDate = driver.pullFile("sdcard/test.txt");        System.out.println(new String(Base64.decodeBase64(resultDate))); //打印结果为"testerHome"4.
            //获取当前界面的activity,可用于断言是否跳转到预期的activity        driver.currentActivity();5.
            //打开通知栏界面        driver.openNotifications();6.
            //获取网络状态        int status = driver.getNetworkConnection().value;        System.out.println(status);        //设置网络状态        driver.setNetworkConnection(new NetworkConnectionSetting(status));        //或者        driver.setNetworkConnection(new NetworkConnectionSetting(false, true, false));7.
            //启动其他应用,跨APP        driver.startActivity("com.android.camera", ".CameraLauncher");8.
            //自动滑动列表        driver.scrollTo("text");        //或者        driver.scrollToExact("text"); 9.拖动元素
            //拖动相机图标至日历图标位置        new TouchAction(driver).longPress(driver.findElementByName("相机"))        .moveTo(driver.findElementByName("日历")).release().perform();10.图案解锁,解锁该图案:


            TouchAction action = new TouchAction(driver);        action.press(215, 870).moveTo(540, 870).moveTo(862, 870)                .moveTo(540, 1195).moveTo(215, 1195).moveTo(215, 1518)                .moveTo(540, 1518).moveTo(862, 1518).moveTo(862, 1195)                .release().perform();      

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    该用户从未签到

    3#
    发表于 2016-4-30 10:42:35 | 只看该作者
    好帖子,特别是获取当前页面的activity用来断言
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-28 01:26 , Processed in 0.070891 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表