Uiautomator——实例分析——唯品会的优物
来源:互联网 发布:mac 新建智能文件夹 编辑:程序博客网 时间:2024/06/07 02:01
本文通过实例来分析uiautomator的具体操作
<span style="font-size:10px;">//2015年1月15日,编写用于优物自动化的程序;用于练习和确认Uiautomator的学习情况package test;import jp.jun_nama.test.utf7ime.helper.Utf7ImeHelper;import android.os.RemoteException;import com.android.uiautomator.core.UiObject;import com.android.uiautomator.core.UiObjectNotFoundException;import com.android.uiautomator.core.UiScrollable;import com.android.uiautomator.core.UiSelector;import com.android.uiautomator.testrunner.UiAutomatorTestCase;public class Runner extends UiAutomatorTestCase{public void test() throws UiObjectNotFoundException , RemoteException{getUiDevice().wakeUp();//唤醒APPfindAndRunApp();//try{ //进首页后延时3s//Thread.sleep(3000);//}catch(InterruptedException e1){//e1.printStackTrace();//}loginApp("************","*******");exitToMainWindow();loginoutApp();loginApp("**********","*******");modifyPassword( "*******","*********" );exitToMainWindow();loginApp("*********","*******");feedback("元气少女鹿都不回我的。。。鹿是一种温顺可爱的动物,今人形容女孩子温顺可爱,会说这女孩像一只温顺的小鹿;");selectcity("广州");selectbrand("唯品会");attention();cancelattention();loginoutApp();exitToMainWindow();}//寻找和打开APPprivate void findAndRunApp() throws UiObjectNotFoundException{getUiDevice().pressHome();UiScrollable appview = new UiScrollable (new UiSelector().scrollable(true));appview.setAsHorizontalList();UiObject openapp = appview.getChildByText(new UiSelector().<span style="color:#3333FF;">className(android.widget.TextView.class.getName()) , "优物")</span>;openapp.clickAndWaitForNewWindow();System.out.println("find youwu_App");sleep(5000);//睡眠5s//System.out.println("sleep success");}//登陆APPprivate void loginApp(String userid , String userkey) throws UiObjectNotFoundException{ <span style="color:#3333FF;">//根据</span></span><span style="font-size:10px;"><span style="color:#3333FF;">resourceId来获取对象</span></span><span style="font-size:10px;"> UiObject mybutton = new UiObject(new UiSelector().<span style="color:#3333FF;">resourceId</span>("com.stunner.vipshop:id/menu_3"));//点击首页-我mybutton.clickAndWaitForNewWindow();UiObject loginbutton =new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/login"));//点击我的尤物页-登陆按钮loginbutton.clickAndWaitForNewWindow();UiObject clearbutton =new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/btn_clean"));//点击输入账号的清除叉叉clearbutton.clickAndWaitForNewWindow();UiObject username = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/username"));//点击输入用户名username.setText(userid);UiObject password = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/password"));//点击输入密码password.setText(userkey);UiObject login = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/login_button"));//点击登陆按钮login.clickAndWaitForNewWindow();UiObject FirstPage = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/menu_1"));//回到首页FirstPage.clickAndWaitForNewWindow();System.out.println("login success");sleep(5000);//休眠5s//UiObject phonetxt = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/txt_phone"));// if(phonetxt.exists()) <span style="color:#3366FF;">//判断对象是否存在,然后进行相关操作。</span>//System.out.println("login success");}//退出登陆private void loginoutApp() throws UiObjectNotFoundException{UiObject mybutton = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/menu_3"));//点击首页-我mybutton.clickAndWaitForNewWindow();UiObject setting = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/layout_main_setting"));//点击设置setting.clickAndWaitForNewWindow();UiObject exit = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/txt_logout"));//点击-退出登录exit.clickAndWaitForNewWindow();sleep(2000);getUiDevice().pressBack();//点击-返回UiObject FirstPage = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/menu_1"));//回到首页FirstPage.clickAndWaitForNewWindow();System.out.println("exit success");}//修改密码private void modifyPassword(String oldkey , String newkey ) throws UiObjectNotFoundException{UiObject mybutton = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/menu_3"));//点击首页-我mybutton.clickAndWaitForNewWindow();UiObject setting = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/layout_main_setting"));//点击设置setting.clickAndWaitForNewWindow();UiObject modify = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/layout_ps")) ;//点击-修改密码modify.clickAndWaitForNewWindow();UiObject in_oldkey = new UiObject (new UiSelector().resourceId("com.stunner.vipshop:id/password"));//读参写入密码in_oldkey.setText(oldkey);UiObject in_newkey = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/password_change"));//输入新密码in_newkey.setText(newkey);UiObject confirm = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/confir_button"));//点击确认confirm.clickAndWaitForNewWindow();sleep(3000);}//意见反馈private void feedback(String tucao) throws UiObjectNotFoundException{UiObject mybutton = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/menu_3"));//点击首页-我mybutton.clickAndWaitForNewWindow();UiObject feedback_button = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/layout_feedback"));//点击吐槽feedback_button.clickAndWaitForNewWindow();UiObject fd_content =new UiObject(new UiSelector().className("android.widget.LinearLayout").index(2).className("android.widget.EditText").index(0));//输入中文文字fd_content.setText(Utf7ImeHelper.e(tucao));sleep(6000);UiObject tijiao =new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/title_btn_right"));//点击提交标签tijiao.clickAndWaitForNewWindow();UiObject FirstPage = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/menu_1"));//回到首页FirstPage.clickAndWaitForNewWindow();sleep(2000);}//选择城市private void selectcity(String city) throws UiObjectNotFoundException{UiObject city_button = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/txt_city"));//点击首页-选择城市city_button.clickAndWaitForNewWindow();UiObject go_search = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/go_search"));//点击-搜索框go_search.clickAndWaitForNewWindow();UiObject edt_search = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/edt_search"));//输入-城市edt_search.setText(Utf7ImeHelper.e(city));sleep(4000);UiObject text = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/text"));//点击搜索出来的城市,若无此城市,testcase直接不运行,failtext.clickAndWaitForNewWindow();sleep(2000);System.out.println("select city success!");}//选择品牌private void selectbrand(String brand) throws UiObjectNotFoundException{UiObject btn_search = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/btn_search"));//点击选择-品牌标签btn_search.clickAndWaitForNewWindow();UiObject go_search = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/go_search"));//点击-品牌搜索框go_search.clickAndWaitForNewWindow();UiObject edt_search = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/edt_search"));//输入-搜索的品牌edt_search.setText(Utf7ImeHelper.e(brand));sleep(4000);UiObject info_layout = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/info_layout"));//选择你搜索到品牌的第一个info_layout.clickAndWaitForNewWindow();sleep(2000);System.out.println("select brand success!");}//关注品牌private void attention() throws UiObjectNotFoundException, RemoteException{UiObject attention_button = new UiObject(new UiSelector().className("android.view.View").index(1));attention_button.click();sleep(2000);System.out.println("attention brand success!");exitToMainWindow();}//取消关注private void cancelattention() throws UiObjectNotFoundException{UiObject mybutton = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/menu_3"));//点击首页-我mybutton.clickAndWaitForNewWindow();UiObject brandnuma = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/layout_brandnuma"));//点击-我关注的品牌brandnuma.clickAndWaitForNewWindow();UiObject titlebar = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/titlebar"));//向左滑动,出现-取消关注的标签titlebar.swipeLeft(5);UiObject button1 = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/button1"));//点击-取消关注button1.click();getUiDevice().pressBack();UiObject FirstPage = new UiObject(new UiSelector().resourceId("com.stunner.vipshop:id/menu_1"));//回到首页FirstPage.clickAndWaitForNewWindow();System.out.println("cancel attention success!");}//退出到手机第一屏private void exitToMainWindow() throws UiObjectNotFoundException, RemoteException{// android.os.Process.killProcess(android.os.Process.myPid()) ; //退出uiautomator的进程// System.out.println("do exit"); getUiDevice().pressRecentApps();sleep(5000);UiObject CloseApp = new UiObject(new UiSelector().className("android.widget.ScrollView").index(1));CloseApp.swipeRight(20);System.out.println("Close App success!!!");getUiDevice().pressBack();findAndRunApp();}}</span>
0 0
- Uiautomator——实例分析——唯品会的优物
- Uiautomator——实例分析信息应用的操作
- UiAutomator—基础
- UIAutomator系列——UIAutomator源码分析之启动和运行(002)
- UiAutomator系列——UiAutomator源码分析之UiAutomatorBridge框架(003)
- UiAutomator系列之——UiAutomator源码分析之注入事件(004)
- UiAutomator系列——UiAutomator源码分析之获取控件信息(005)
- android自动化测试工具【UiAutomator】——打开settings实例
- android自动化测试工具【UiAutomator】——打开settings实例
- Uiautomator——API详解
- UiAutomator——点击难以识别的控件技巧
- Android自动化测试(UiAutomator)——UiObject
- UiAutomator——常用类说明
- 【Android测试】Uiautomator——API详解
- Android测试一:Uiautomator——简介
- UiAutomator系列——Appium Android Bootstrap源码分析之简介(006)
- UiAutomator系列——Appium Android Bootstrap源码分析之控件AndroidElement(007)
- UiAutomator系列——Appium Android Bootstrap源码分析之命令解析执行(008)
- 如何安装Android Studio
- 获取页面可视区的高度·DOCTYPE的作用·将滚动条定位到具体的元素
- ajax 中关于URL路径及参数特殊字符问题
- 学习新语言
- android和java webservice RSA处理的不同
- Uiautomator——实例分析——唯品会的优物
- Neutron OVS Bridge 连接方式 (veth pair / ovs peer) 的选型和性能测试
- Linux系统管理员需要知道的16个服务器监控命令
- JSP存放在 WEB-INF 跟webroot的区别
- vmware虚拟机Windows 2003上网问题
- as3.0 Function.apply()与Function.call()方法简介
- hdu 1250 Hat's Fibonacci(高精度加法)
- Oracle 11gR2 List-Range分区实验
- WPF+WinForm系统主页框架Demo(附带一些小功能!)