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 # ...
随机推荐
- Python Learning - One
## Create a directory each day, and can create files in the directory. 1. variable 2. comments 1) # ...
- lcr电桥浅谈
此图告知,现代的lcr电桥使用的都是虚地,阻抗很高. 系统采用的鉴相器比较简单,是检半个正弦基波(RMS有效值积分),可以有效抵御偶次基波. 倒不如直接使用运放电容移相,比较采样法直接采样最高点. 此 ...
- linux开通端口允许其他机器访问
命令开通8080端口允许其他机器对linux的访问: iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
- java.util中,util是什么意思
Util是utiliy的缩写,是一个多功能.基于工具的包. java.util是包含集合框架.遗留的 collection 类.事件模型.日期和时间设施.国际化和各种实用工具类(字符串标记生成器.随机 ...
- 去除桌面SVN问号
由于误操作,桌面文件全部带着问号. 找到一种比较方便的方法解决. 1.显示受保护文件.文件夹win7系统 - 随便打开一个文件夹 - 在菜单栏里点 工具 - 文件夹选项 - 查看 以下如图中选择 2 ...
- PHPstorm 2017激活
网上看了很多,有用没几个.特别亲身试验了下.有一个有用的.摘录下来.备忘. 感谢该篇博文的作者.https://blog.csdn.net/veloi/article/details/71307942 ...
- layui 根据后台传来的值选择按钮
{{# if(d.status == 'xxx'){ }} <a class="layui-btn layui-btn-xs layui-btn-disabled" lay- ...
- yum解决 "Couldn't resolve host 'apt.sw.be'" 错误
1.yum无法安装工具 failure: repodata/repomd.xml from dag: [Errno 256] No more mirrors to try.http://apt. ...
- msmq访问格式
//集群测试,以下格式不行(应是Host映射之类没配置OK) //_MSMQPath = @"FormatName:DIRECT=TCP:msmq496-ha\private$\496-10 ...
- 千万不要随意在网上下载ojdbcjar包来使用,ORA-01461错误解决
我在登录项目时,点击某一按钮提示ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值,但是项目在我的同事那里可以完好运行.最后百度 发现问题所在: 数据库与客户端的JDBC驱动不匹配. ...