欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

移动测试中,获取元素和对手机的一些操作方法

程序员文章站 2024-03-14 19:45:59
...

driver.findElementByXPath("").click();
driver.swipe(945,376,945,376,1)
//class[contains(@text,‘text’)]
//class[@content-desc=‘content-desc’]

driver.findElement(By.xpath("//class[contains(@text,'text')]")).click();//class+text
driver.findElement(By.xpath(("//class[@content-desc='content-desc']")).click();//class+content-desc

driver.runAppInBackground(5); //将当前活跃的应用放在后台运行
driver.hideKeyboard(); //隐藏键盘
driver.lockDevice(); //锁屏
driver.openNotifications(); //打开Android的下拉通知栏
driver.isAppInstalled(“com.example.android.apis”) //判断应用是否安装
driver.installApp(“path/to/my.apk”) //安装应用
driver.removeApp(“com.example.android.apis”) //卸载应用
driver.closeApp() //关闭App
driver.getContextHandles() //可用上下文,context可以理解为可进入的窗口,如果是native则为native_app,如果是webview为对应webview;
driver.context(); //设置上下文 (context),对hybrid app会用到
driver.getAppStringMap(); //获取应用的字符串
driver.pressKeyCode(AndroidKeyCode.HOME); //给设备发送一个按键事件,所有键盘按键值可参考AndroidKeyCode类
driver.pullFile(“Library/AddressBook/AddressBook.sqlitedb”); //从设备中拉出文件
driver.pullFolder(“Library/AddressBook”); //从设备中拉出文件夹
driver.PushFile(“/data/local/tmp/file.txt”, “some data for the file”); //推送文件到设备中去
driver.swipe(75, 500, 75, 0, 0.8) //模拟用户滑动
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(1)); //设置等待时间
driver.navigate().forward(); // 前进
driver.navigate().back(); // 后退
driver.navigate().refresh(); // 刷新
driver.currentActivity(); //当前activity,可用于断言跳转是否正确
driver.startActivity(appPackage,appActivity); //启动其他app的activity
坐标操作,降低适配带来的不适用:
double Screen_X = driver.Manage().Window.Size.Width;//获取手机屏幕宽度
double Screen_Y = driver.Manage().Window.Size.Height;//获取手机屏幕高度
double startX = element.Location.X; //获取元素的起点坐标,即元素最左上角点的横坐标
double startY = element.Location.Y; //获取元素的起点坐标,即元素最左上角点的纵坐标
double elementWidth = element.Size.Width; //获取元素的宽度
double elementHight = element.Size.Height; //获取元素的宽度

driver.findElementByName(“空气质量指数”).click();//name定位
driver.findElementById(“com.freshideas.airindex:id/mainNav_accountLayout_id”).click();//id定位
driver.findElementByAccessibilityId(“转到上一层级”).click();//accessibility_id定位通过UI Automator工具查看的content-desc属性
//android.widget.TextView[@text='鲜切花 ']
//控件类名[@控件属性名=‘控件属性值’]

driver.findElement(By.id("")).click();
driver.findElement(By.name(u"")).click();
driver.findElement(By.linkText("")).click();
driver.findElement(By.partialLinkText("")).click();
driver.findElement(By.cssSelector("")).click();
driver.findElement(By.xpath("")).click();
driver.findElement(By.xpath("//class[contains(@text,'text')]")).click();//class+text
driver.findElement(By.xpath(("//class[@content-desc='content-desc']")).click();//class+content-desc
driver.findElement(By.className("")).click();

Appium+java 模拟键盘输入:
功能键KEYCODE_CALL
拨号键 5KEYCODE_ENDCALL
挂机键 6KEYCODE_HOME
按键Home 3KEYCODE_MENU
菜单键 82KEYCODE_BACK
返回键 4KEYCODE_SEARCH
搜索键 84KEYCODE_CAMERA
拍照键 27KEYCODE_FOCUS
拍照对焦键 80KEYCODE_POWER
电源键 26KEYCODE_NOTIFICATION
通知键 83KEYCODE_MUTE
话筒静音键 91KEYCODE_VOLUME_MUTE
扬声器静音键 164KEYCODE_VOLUME_UP
音量增加键 24KEYCODE_VOLUME_DOWN
音量减小键 25 控制键KEYCODE_ENTER
回车键 66KEYCODE_ESCAPE
ESC键 111KEYCODE_DPAD_CENTER
导航键 确定键 23KEYCODE_DPAD_UP
导航键 向上 19KEYCODE_DPAD_DOWN
导航键 向下 20KEYCODE_DPAD_LEFT
导航键 向左 21KEYCODE_DPAD_RIGHT
导航键 向右 22KEYCODE_MOVE_HOME
光标移动到开始键 122KEYCODE_MOVE_END
光标移动到末尾键 123KEYCODE_PAGE_UP
向上翻页键 92KEYCODE_PAGE_DOWN
向下翻页键 93KEYCODE_DEL
退格键 67KEYCODE_FORWARD_DEL
删除键 112KEYCODE_INSERT
插入键 124KEYCODE_TAB
Tab键 61KEYCODE_NUM_LOCK
小键盘锁 143KEYCODE_CAPS_LOCK
大写锁定键 115KEYCODE_BREAK
Break/Pause键 121KEYCODE_SCROLL_LOCK
滚动锁定键 116KEYCODE_ZOOM_IN
放大键 168KEYCODE_ZOOM_OUT
缩小键 169
组合键 KEYCODE_ALT_LEFT Alt+LeftKEYCODE_ALT_RIGHT Alt+RightKEYCODE_CTRL_LEFT Control+LeftKEYCODE_CTRL_RIGHT Control+RightKEYCODE_SHIFT_LEFT Shift+LeftKEYCODE_SHIFT_RIGHT Shift+Right
基本KEYCODE_0 按键’0’
16KEYCODE_A 按键’A’

相关标签: 测试工程师