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 # ...
随机推荐
- 自动化测试如何使用driver.findElements去操作页面元素
当你要操作的元素页面有很多个的时候,如下图这样,你想使用".datagrid-row-expander.datagrid-row-expand"这个cssSelector,这个时候 ...
- Python全栈-magedu-2018-笔记4
第三章 - Python 内置数据结构 元组tuple 一个有序的元素组成的集合 使用小括号 ( ) 表示 元组是不可变对象 元组的定义 初始化 定义 tuple() -> empty tupl ...
- Babylon.js demo
demo地址 访问demo 全屏试试 感觉很棒 在线文档 搜索:Default rendering pipeline demo源码在线调试地址
- jmeter常用插件介绍
一.下载安装及使用 下载地址:jmeter-plugins.org 安装:下载后文件为plugins-manager.jar格式,将其放入jmeter安装目录下的lib/ext目录,然后重启jmete ...
- iOS的签名机制
1.从keychain里“从这证书颁发机构请求证书”,这样就在本地生成了一对公私钥,保存的CertificateSigningRequest就是公钥,私钥保存在本地电脑里. 2.苹果自己有一对固定的公 ...
- 【LeetCode每天一题】Simplify Path(简化路径)
Given an absolute path for a file (Unix-style), simplify it. Or in other words, convert it to the ca ...
- 2019.04.16 python基础50
第五十一节 pycharm安装 https://www.jetbrains.com/pycharm/download/#section=windows 这是另一个叫jetbrains公司开发的 默认 ...
- for循环的beak continue用法
continue跳出该循环, for循环后面的都要执行.break直接中段循环 后面不执行了
- Spark SQL 编程初级实践
一.实验目的 (1) 通过实验掌握 Spark SQL 的基本编程方法: (2) 熟悉 RDD 到 DataFrame 的转化方法: (3) 熟悉利用 Spark ...
- zt (stack overflow 介绍)
这是「解密 Stack Overflow 架构」系列的第一篇,本系列会有非常多的内容.欢迎阅读并保持关注. 为了便于理解本文涉及到的东西到底都干些了什么,让我先从 Stack Overflow 每天平 ...