定位:
# 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操作的更多相关文章

  1. ui自动化之selenium操作(五)简单元素操作--续

    1. 多窗口切换 有时候需要在多窗口切换,webdriver提供了switch_to_window()方法支持切换窗口: from selenium import webdriver import o ...

  2. ui自动化之selenium操作(四)简单元素操作

    1. clear() clear()方法用于清除文本输入框内的内容:一般输入框中都有默认文字,如果不清空有可能会导致字符拼接: browser.find_element(By.ID,"use ...

  3. ui自动化之selenium操作(三)xpath定位

    xpath 的定位方法,非常强大.使用这种方法几乎可以定位到页面上的任意元素. 1. 什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们 ...

  4. ui自动化之selenium操作(二)定位元素-简单操作

    1. 将浏览器最大化 这里拿chrome举例,但是我在执行的时候一直报错,被坑了好久; 解决办法: 这是因为chromedriver是和chrome一一对应的,不兼容的版本就会报错: 所有chrome ...

  5. ui自动化之selenium操作(一)环境搭建

    1. python安装: 前面步骤可以看到,这里就不赘述了(我们在这里安装的是python3) 2. selenium安装: 前面我们都已经安装好pip了,所以这里咱们直接进入到python安装路径的 ...

  6. python UI自动化之js操作

    js处理iframe无需先切换到iframe上,再切回来操作.它可以在iframe上和主页面上来回自由操作. switch方法需要先切换到iframe上,操作完之后又的切换回来(很容易忘记切换回来), ...

  7. (appium+python)UI自动化_03_元素定位工具

    前言 在UI自动化过程中,需要对手机app上的元素进行定位,然后进一步编写自动化脚本操作app.定位元素首先需要定位工具来辅助查看页面元素.小编常用的定位工具有2种,分别是uiautomatorvie ...

  8. Appium UI自动化的那些梗

    @作者 彭海波 转载请注明出处 前言 由于需求的快速迭代和敏捷测试的要求,在测试过程中引入自动化成为必不可少的手段.作为一个互联网测试团队,我们自然也引入了自动化测试这个环节.在众多的测试框架中,我们 ...

  9. appium Ui自动化调起应用点击

    appium Ui自动化调起微信并点击登录按钮的java代码(对的,就这么一丢丢). public class testWX { public static void main(String[] ar ...

  10. 使用appium+python做UI自动化的demo

    使用appium+python做UI自动化的demo 案例使用的知乎app,下载最新的知乎apk,存在了电脑上,只需要配置本机上app目录,不需要再配置appPackage和appActivity # ...

随机推荐

  1. js点击复制剪贴板

    代码用原生写的.工作中用的angular,所以如果有用angular的话,请把js代码copyToClipboard函数中的document.getElementById(elementId).inn ...

  2. JS获取页面复选框选中的值

    function jqchk(){ //jquery获取复选框值 var chk_value =[]; $('input[class="sel"]:checked').each(f ...

  3. 深入了解webpack前,可以了解的小知识点。

    阅读前:文章大概是写,简单用过webpack,想继续深入了解webpack前需要了解的知识.但文章内容跟webpack使用关系并不大. 文章概要: Object.defineProperty call ...

  4. caffe的cancat层

    我在训练Goolenet inception-v3时候出现了concat错误,因此写下concat层的一些知识点,以供读者跳坑 concat层在inception-v3网络中存在非常明显,之所以需要c ...

  5. CentOS7中GreVPN的配置

    目前只实现了三层的GRE隧道,但其实二层也可以实现的,但是没有找到很好的方法,待研究 环境如下: host A :  121.207.22.123 host B: 111.2.33.28 1. 在ho ...

  6. hdu4780 最小费用最大流

    提交 题意: 给了M个机器,N个糖果要被生产,每个糖果有一个Si和Ti的时间,只能在Si或者在Si<=t<Ti的时间开始生产 每个机器进行转化生产产品的时候都会产生一个代价,然后求最小的代 ...

  7. Ubuntu Win10双系统重启ubuntu出现黑屏情况 Ubuntu引导修复

    step 1 : 准备一个Ubuntu grub启动盘 step 2 : 进入Ubuntu启动盘的 Try Ubuntu without install step 3 : 使用终端输入以下命令,记住检 ...

  8. jquery.uploadify上传插件HTML5版中文api使用说明

    插件官网文档:http://www.uploadify.com/documentation/ H5版下载地址:https://download.csdn.net/download/u010075697 ...

  9. python,day3,函数基础-3

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 1.函数基本语法及特性 函数是什么? 函数一词 ...

  10. C# rtsp 转码rtmp nginx踩下的坑

    最近有一个项目, 进行步态识别的时候,同时需要显示摄像的实时画面.对于 Winform 显示画面,之前针对 rtmp 流的时候,是先写一个HTML 网页加载视频流,然后在IIS上发布,将地址直接赋值给 ...