UiAutomator 正则表达式技巧实例

来源:互联网 发布:淘宝天天特价秒杀 编辑:程序博客网 时间:2024/06/06 19:43

演示1 正则表达式技巧实例——选择闹钟

    /**     * 演示闹钟实例     * 1.打开闹钟界面     * 2.创建两个闹钟     * 3.删除第二个闹钟     * 4.验证是否删除成功     * @throws UiObjectNotFoundException      * */    public void testClick() throws UiObjectNotFoundException{        //初始化用例环境        UiDevice.getInstance().pressBack();        UiDevice.getInstance().pressBack();        UiDevice.getInstance().pressBack();        UiDevice.getInstance().pressHome();        //点击闹钟应用        UiObject alarm_clock = new UiObject(new UiSelector().                textMatches("Alarm Clock Xtreme"));        alarm_clock.clickAndWaitForNewWindow();        //进入闹钟后点击添加闹钟        UiObject add = new  UiObject(new UiSelector()        .resourceIdMatches(".*id/footer_textview"));         add.click();        //点击完成,创建闹钟        UiObject finish = new UiObject(new UiSelector()        .text("完成"));        finish.click();        //新建第二个闹钟         sleep(2000);        add.click();        finish.click();        //修改第二个闹钟        UiCollection uic = new UiCollection(new UiSelector()        .classNameMatches(".*ListView"));        UiObject two = uic.getChildByInstance(new UiSelector().        textMatches("\\d+:\\d+"), 1);        //修改        two.click();        //保存        finish.click();        sleep(1000);        //删除第二个        UiObject tool = uic.getChildByInstance(new UiSelector()        .resourceIdMatches(".*id/menu_item"), 1);        tool.click();        UiObject delete = new UiObject(new UiSelector().text("删除"));        delete.click();        System.out.println("用例完成");    }

演示2 正则表达式技巧实例——兼容多语言

/**     * 兼容多语言     * ("完成 |Deon")这里可以使用或兼容多语言     * Contact(联系)     * com.bignox.app.phone:id/buttom_contact     * @throws UiObjectNotFoundException      * */    public void testContact() throws UiObjectNotFoundException{        //初始化        UiDevice.getInstance().pressBack();        UiDevice.getInstance().pressBack();        UiDevice.getInstance().pressBack();        UiDevice.getInstance().pressHome();        //进入电话应用        UiObject ysPhone = new  UiObject(new UiSelector()        .text("夜神电话"));        ysPhone.clickAndWaitForNewWindow();        //进入通讯录        UiObject mail_list = new  UiObject(new UiSelector()        .resourceIdMatches(".*id/buttom_contact"));        mail_list.click();        //添加联系人 com.bignox.app.phone:id/imageButtonAdd        UiObject add = new  UiObject(new UiSelector()        .resourceIdMatches(".*id/imageButtonAdd"));        add.click();        //姓名 com.bignox.app.phone:id/editTextName        UiObject name = new  UiObject(new UiSelector()        .resourceIdMatches(".*id/editTextName"));        String name_text = "a"+new Random().nextInt(100);        name.setText(name_text);        //电话 com.bignox.app.phone:id/editTextPhone        UiObject phone = new  UiObject(new UiSelector()        .resourceIdMatches(".*id/editTextPhone"));        phone.setText("13889137867");        //保存 这里可以使用  |(或)        UiObject finish = new  UiObject(new UiSelector()        .text("完成 |Deon"));        finish.clickAndWaitForNewWindow();        sleep(1000);        assertTrue(new UiObject(new UiSelector().textMatches(name_text)).exists());    }

演示3 正则表达式技巧实例——同种类型对话按钮

这里写图片描述

public void clickDialog(boolean yn) throws UiObjectNotFoundException{        UiObject y = new UiObject(new UiSelector()        .textMatches("是|确认|确认|Y|OK "));        UiObject n = new UiObject(new UiSelector()        .textMatches("否|同意|取消|N|Cancel"));        if(yn){            y.click();        }else{            n.click();        }    }
0 0
原创粉丝点击