一、python脚本操作app的用法:
1、检查app安装情况(返回true/false) :driver.is_app_installed(package_name)
2、安装app:driver.install_app(“x:xxx.apk”)注意:这里的安装路径是本地电脑的路径
3、卸载app:driver。remove_app(package_name)
4、打开通知栏:driver.open_notifications()
5、关闭app:driver.close_app()
6、启动app driver.launch_app()
7、锁定屏幕x秒:driver.lock(x)
8、模拟摇晃设备:driver.shake
9、重置应用driver.resetApp()
10、检查是否存在某个activity:driver.find_element_by_id(activity)
11、获取当前的activity:activityself.driver.current_activity(u"当前的ctivity是:",activity)
12、等待activity启动直到x秒超时,每隔y秒扫描一次:driver.wait_activity(activity,x,y)
13、将app置于后台运行:driver.backgroud_app(x)(注意:测试发现置于后台数秒后变为前台时,将是重新启动app,进入首页,而不是切入后台时的界面)
14、打印可用的输入法:IME_LISE=driver.aviailable_ime_engines
15、检查设备是否有输入法活动:driver.is_ime_active()
16、激活安卓设备中的指定输入法:driver.activate_ime_engine(IME_LISE[-1])
17、退出键盘:driver.hide_keyboard()
二、appium中输入中文
java
在capabilities中添加capbilities.setCapabilities(“unicodekeyboard”,true);
he capabilities.setCapabilities(“resetKeyboard”,true)
三、执行swipe
driver.swipe(x1,y1,x2,y2,t) 这里的t是在多少毫秒内进行华东动作,一定要写
四、appium1.6.3-1.6.5版本下支持android下的ByName
一招修改源码解决问题根源,修改方法如下:
找到你的appium\node_modules\appium-android-driver\build\lib\driver.js 文件,只需要修改其中一行即可
this.locatorStrategies = [‘xpath’, ‘id’, ‘class name’, ‘accessibility id’, ‘-android uiautomator’,‘name’];//注意原本是没有最后的name的,name就是咱们修改加上的
修改完成之后,保存,再次重启appium服务,就可以继续使用ByName定位啦
五、python获取toast验证
desired_caps[‘automationName’]=‘uiautomator2’
def find_toast(self,message,timeout,poll_frequency,driver):
message=‘//*[contains(@text,’{}‘)]’.fomat(message) element=WebDriverWait(driver,timeout,poll_frequency).until(expected_conditions.presence_of_element_located(By.XAPTH,message))
五、appium连续滑动/九宫格
连续滑动要用到TouchAction.
TouchAction中可以包含按压(press),长按(longPress),点击(tap),移动(move_to),等待(wait),释放(release),执行(perform)等 操作。
设置或解锁九宫格我们操作的步骤
1.先按压一个起始点press(x,y)
2.这个点移动到另外一个点 move_to(x,y)
- 暂停一会 wait(time)
4.重复刚才第二2,3步
5.将手从屏幕移开 realease()
6.将上面执行的操作发送到服务器perform()
TouchAction(driver).press(x=215,y=283).wait(1000).move_to(x=0,y=147).wait(1000).move_to(x=130,y=120).wait(1000).move_to(x=137,y=-134).wait(1000).move_to(x=0,y=-140).wait(1000).release().perform()