UI自动化(十三)appium操作
定位:
# id resource-id可能出现重复 如果appium-desktop提示了id 定位方式 说明id唯一
driver.find_element_by_id('com.tencent.mobileqq:id/btn_login').click() # xpath //class[@属性="xxx"]
driver.find_element_by_xpath('//android.widget.EditText[@text="QQ号/手机号/邮箱"]').send_keys(123123) # 固定的写法 只需要替换文案就可以
driver.find_element_by_android_uiautomator('new UiSelector().text("登 录")').click() # 对应content-desc 属性 如果有 就用这个
driver.find_element_by_accessibility_id("密码 安全").send_keys(1123123)
上下左右的滑动操作
# size = driver.get_window_size()
# width = size.get('width')
# height = size.get('height')
# start_x = width*0.5
# start_y = height*0.8
# end_x = start_x
# end_y = height*0.2
# driver.swipe(start_x,start_y,end_x,end_y)
# # 判断app包装了没有
# flag= driver.is_app_installed('com.tencent.mobileqq')
# print('判断是否装了qq:%s'%flag)
# driver.remove_app('com.tencent.mobileqq')
# print('qq被卸载')
# 安装包,给一个apk的绝对路径
driver.install_app('/Users/houyafan/Downloads/mobileqq_android.apk')
# 关闭初始化的app
# driver.close_app()
# print('setting 以被关闭')
# 启动初始化的app
# driver.launch_app()
# 初始化app
# driver.reset()
# 退出到后台,多少秒后在启动
# driver.background_app(5)
# driver.find_element_by_android_uiautomator('new UiSelector().text("新用户")').click()
# 获取当前入口
# activity = driver.current_activity
# print('当前的入口:%s'%activity)
# 启动一个app
# driver.start_activity('com.tencent.mobileqq','.activity.RegisterPhoneNumActivity')
# 等待某一个入口出现
# flag = driver.wait_activity('.Settings',5)
# print('等待某一个入口出现:%s'%flag) 混合app
# 当前有所有app类型
print(driver.contexts)
#当前的app类型
print("切换前:%s"%driver.current_context)
driver.switch_to.context('WEBVIEW_com.android.browser')
print("切换完成后:%s"%driver.current_context)
UI自动化(十三)appium操作的更多相关文章
- ui自动化之selenium操作(五)简单元素操作--续
1. 多窗口切换 有时候需要在多窗口切换,webdriver提供了switch_to_window()方法支持切换窗口: from selenium import webdriver import o ...
- ui自动化之selenium操作(四)简单元素操作
1. clear() clear()方法用于清除文本输入框内的内容:一般输入框中都有默认文字,如果不清空有可能会导致字符拼接: browser.find_element(By.ID,"use ...
- ui自动化之selenium操作(三)xpath定位
xpath 的定位方法,非常强大.使用这种方法几乎可以定位到页面上的任意元素. 1. 什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们 ...
- ui自动化之selenium操作(二)定位元素-简单操作
1. 将浏览器最大化 这里拿chrome举例,但是我在执行的时候一直报错,被坑了好久; 解决办法: 这是因为chromedriver是和chrome一一对应的,不兼容的版本就会报错: 所有chrome ...
- ui自动化之selenium操作(一)环境搭建
1. python安装: 前面步骤可以看到,这里就不赘述了(我们在这里安装的是python3) 2. selenium安装: 前面我们都已经安装好pip了,所以这里咱们直接进入到python安装路径的 ...
- python UI自动化之js操作
js处理iframe无需先切换到iframe上,再切回来操作.它可以在iframe上和主页面上来回自由操作. switch方法需要先切换到iframe上,操作完之后又的切换回来(很容易忘记切换回来), ...
- (appium+python)UI自动化_03_元素定位工具
前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorvie ...
- Appium UI自动化的那些梗
@作者 彭海波 转载请注明出处 前言 由于需求的快速迭代和敏捷测试的要求,在测试过程中引入自动化成为必不可少的手段.作为一个互联网测试团队,我们自然也引入了自动化测试这个环节.在众多的测试框架中,我们 ...
- appium Ui自动化调起应用点击
appium Ui自动化调起微信并点击登录按钮的java代码(对的,就这么一丢丢). public class testWX { public static void main(String[] ar ...
- 使用appium+python做UI自动化的demo
使用appium+python做UI自动化的demo 案例使用的知乎app,下载最新的知乎apk,存在了电脑上,只需要配置本机上app目录,不需要再配置appPackage和appActivity # ...
随机推荐
- Linux下面使用命令如何运行.sh文件的两种解决办法
Linux下面用命令如何运行.sh文件的方法,有两种方法: 一.直接./加上文件名.sh,如运行hello.sh为./hello.sh[hello.sh必须有x权限] 二.直接sh 加上文件名.sh, ...
- 【C++】链表回环检测
//链表回环检测问题 #include<iostream> #include<cstdlib> using namespace std; ; struct node { int ...
- Oracle归档开启和更改
运用 Xshell 客户端工具链接所在的 oracle 服务器 1.先进入数据库里面去 [root@DBSTANDBY ~]# su - oracle [oracle@DBSTANDBY ~]$ ...
- Java-字符串、集合
1.只要是字符串,必然是对象. 2.API文档的基本使用 3.如何创建字符串: 直接饮用赋值,也是一个字符串对象. 可以通过new关键字来调用string的构造方法: public string (c ...
- python练习题-day24
1.单继承 class Animal: def __init__(self,name,hp,aggr): self.name=name self.hp=hp self.aggr=aggr def ea ...
- 【托业】【跨栏】TEST04
16~20 16 17 18 19 20 REVIEW TEST4
- Django系统
#Django系统 -环境 - python3.6 - django1.8 -参考资料 - [django中文教程](http://python.usyiyi.cn) - django架站的16堂课 ...
- ffmpeg 多个音频合并 截取 拆分
1 多个mp3文件合并成一个mp3文件 一种方法是连接到一起 ffmpeg64.exe -i "concat:123.mp3|124.mp3" -acodec copy outpu ...
- webstorm 2018 Eslint修复 快捷键设置
首先确保eslint插件已安装 已勾选
- 微信小程序 加载图片时,先拉长,再恢复正常
今天在写小程序,发现小程序的图片image如过mode设置为widthFix的话, 加载图片会被先拉伸,后恢复正常 我的处理方法是,给他一个初始的height值,或者就直接 height:auto