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 # ...
随机推荐
- window10, java环境配置完后在cmd,输入java成功了,但为什么输入javac就失败了
一.Path的配置:按一般的网上教程,配置时都会是复制这段[%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;] win10的都分开显示,还是比较直观,但由于编辑器的原因,所有变 ...
- Windows 主机名映射地址
在开发中大数据集群中我们自己的电脑主机名映射不到集群的主机名下面我们就去修改自己电脑 主机名映射地址 c/Windows/System32/drivers/etc/host 文件将主机名和IP地址 ...
- LVS,Keepalived,HAproxy区别与联系
LVS,Keepalived,HAproxy区别与联系 LVS 全称Linux Virtual Server,也就是Linux虚拟服务器,由章文嵩(现就职于于淘宝,正因为如此才出现了后来的fullna ...
- SQL SERVER 基本操作语句
Sql 是一种结构化的查询语言:Sql是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理‘关系型数据库’系统:Sql对大小写不敏感:Sql不是数据库,是行业标准,是结构化的查询语言 In ...
- 2018-2019-2 网络对抗技术 20165236 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165236 Exp2 后门原理与实践 一.实验内容 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...
- DAX/PowerBI系列 - 玩转阿里云 Alicloud Pricing
DAX/PowerBI系列 - 玩转 阿里云主机 Ali Cloud ECS 难度: ★★☆☆☆(1星) 适用范围: ★★★☆☆(3星) 欢迎交流与骚扰 这是啥: 双十一就到了,码农门,程序猿们有没有 ...
- git 解决授权失败的方法
git 提示 fatal: Authentication failed for 'http://***********‘’得解决方法 首先用 git config --list 查看一下 如果不对, ...
- 部署的docker image总是太大,怎么办?
sudo docker images REPOSITORY TAG IMAGE ID CREATED ...
- java项目的异常处理
异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error:如果你用System.ou ...
- Qt QDateEdit QDateTimeEdit
展示一个效果,然后附上一个“笑话~~”...回想起来都是搞笑的. 笑话来了,,,,几个月前,为了做出时间选择界面,我亲自“创造”了一个...今天发现了QDateEdit的属性CalendarPopup ...