【Python + ATX基于uiaotumator2】之Android—APP自动化简易例子
上代码:
import uiautomator2 as u2
from time import sleep d = u2.connect_usb('608ad0fe') #打开小卖
# d(text=u"小卖安全").click()
d.app_start("cn.sqm.citymine_safety")
sleep(0.2)
#输入用户名
d(resourceId="cn.sqm.citymine_safety:id/et_login_id").send_keys("ceshi07")
d.click(0.924, 0.607)
#输入密码
d(resourceId="cn.sqm.citymine_safety:id/et_login_password").set_text("")
d.click(0.924, 0.607)
#点击登录按钮
d(resourceId="cn.sqm.citymine_safety:id/btn_login").click()
#点击发起任务
d(className="android.widget.ImageView", instance=25).click()
#选择任务类型:日常检查
d(resourceId="cn.sqm.citymine_safety:id/tv_select_task_type").click()
sleep(0.5)
d(className="android.view.View").drag_to(0.506, 0.759, duration=0.5)
d(resourceId="cn.sqm.citymine_safety:id/btn_confirm").click()
#检查单位:IOS开发
d(resourceId="cn.sqm.citymine_safety:id/tv_select_inspection_area").click()
d(resourceId="cn.sqm.citymine_safety:id/item_tv_next_level").click()
d(resourceId="cn.sqm.citymine_safety:id/item_tv_department").click()
#隐患类型:其他
d(resourceId="cn.sqm.citymine_safety:id/tv_select_hidden_danger_type").click()
d(className="android.view.View").drag_to(0.506, 0.759, duration=0.5)
d(text='确定').click()
#隐患描述
d(resourceId="cn.sqm.citymine_safety:id/et_hidden_danger_description").set_text("其他问题")
d.click(0.924, 0.607)
#照片:1
d(resourceId="cn.sqm.citymine_safety:id/iv_choose_photos").click()
d(text=u"手机相册").click()
d(resourceId="cn.sqm.citymine_safety:id/v_selected", className="android.widget.ImageView", instance=10).click()
d(resourceId="cn.sqm.citymine_safety:id/done").click()
#违反制度:违反员工行为规范
d(resourceId="cn.sqm.citymine_safety:id/iv_add_violation").click()
d(resourceId="cn.sqm.citymine_safety:id/item_tv_content_violation", text=u"违反员工行为规范").click()
d(resourceId="cn.sqm.citymine_safety:id/tv_complete").click()
#向上滑动拖拽
d(className="android.widget.LinearLayout").drag_to(0.498, 0.00, duration=0.5)
#整改期限:选择9月1号
d(resourceId="cn.sqm.citymine_safety:id/tv_please_the_rectification_date").click()
for i in range(2):
d(resourceId="cn.sqm.citymine_safety:id/day").drag_to(0.82, 0.8, duration=0.5)
d(text='确定').click()
#协同人员
list = ["开发02",]
d(resourceId="cn.sqm.citymine_safety:id/item_tv_personnel_name").click()
for i in range(len(list)):
d(resourceId="cn.sqm.citymine_safety:id/item_tv_personnel_name", text=list[i]).click()
d(resourceId="cn.sqm.citymine_safety:id/tv_complete").click()
#单位负责人
d(resourceId="cn.sqm.citymine_safety:id/item_tv_personnel_name", className="android.widget.TextView", instance=len(list)+1).click()
for i in range(2):
d(resourceId="cn.sqm.citymine_safety:id/lv_area_manager").click()
d(resourceId="cn.sqm.citymine_safety:id/item_tv_department", text=u"区域07").click()
d(resourceId="cn.sqm.citymine_safety:id/tv_complete").click() #返回首页
sleep(0.5)
d.click(0.063, 0.068)
#点击我的
d(resourceId="cn.sqm.citymine_safety:id/rb_single_center").click()
#退出账号
d(text="安全退出账号").click()
#返回首页home
d.press("home") #測試完成關閉軟件
d.service("uiautomator").stop()
【Python + ATX基于uiaotumator2】之Android—APP自动化简易例子的更多相关文章
- android app自动化测试之UIAutomator
一.UIAutomator Android自动化测试工具有很多,但是要免费.易上手,本人觉得就直接使用Eclipse自带的UIAutomator就不错.测试人员无需跟开发要代码信息,只要手机上有安装之 ...
- 【Python + ATX基于uiautomator2】之编写unittest自动化测试脚本
不说废话上代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/08/31 09:43 # @Author : zc # @ ...
- 谷歌发布基于机器学习的Android APP安全检测系统:Google Play Protect
Google Play作为众所周知的在线应用市场,因为审查制度的松散,经常会有一些恶意软件伪装成其他应用混入其中.此前阿里聚安全小编就报道了2例关于恶意软件伪装在Google Play上的事件:< ...
- 【Python + ATX】之uiautomator2 PageObject模式自动化框架学习
参考文章: 感谢:cynic (linpengcheng) <ATX 基于 ATX-Server 的 UI 自动化测试框架> <ATX-uiautomator2 实现 webview ...
- Android app自动化测试之Python+Appium环境搭建
1.安装JDK (1)JDK安装时会有两次,一次是jdk,第二次是jre. (2)环境变量配置: 添加JAVA_HOME变量, 值:Jdk的安装路径 添加CLASSPATH变量,值: .;%JAVA_ ...
- 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(二):安装facebook-wda库并编写简易自动化测试脚本
上一篇介绍完如何安装WDA,接下来开始正式安装开发库并编写自动化脚本. 目录: 一.安装facebook-wda库 二.通过WEditor定位元素 三.附录:学习资料 一.安装facebook-wda ...
- 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(一):WebDriverAgent安装
此篇介绍如何安装WebDriverAgent,下一篇介绍facebook-wda库的安装使用以及自动化脚本的开发. 前言: 对于iOS的应用的测试,如果不需要用到图像识别,推荐使用这个项目facebo ...
- 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(三):facebook-wda库--API学习以及附录:Github上对WDA的问题解答
下面简单介绍facebook-wda库--API的学习 import wda # debug模式,会在run运行时控制台生成消息 wda.DEBUG = False # False 关闭,True开启 ...
- ubuntu 14.04/15.10 安装基于eclipse的android app开发环境
一开始是装了ubuntu15.10,不知道是我的x200机器太old还是iso镜像有问题,总是各种莫名的引导不起来.有时候刚刚装好的干净系统,只install了一个vim和openssh,重启,然后就 ...
随机推荐
- Android studio百度地图demo出现230错误,key校验失败
转自daoxiaomianzi原文 Android studio 百度地图demo出现230错误,key校验失败 使用AndroidStudio导入Baidu地图的as版的demo,引入后,发现没有k ...
- OpenGL ES2.0编程三步曲 -转
原地址:http://blog.csdn.net/myarrow/article/details/7707943 1. 保存全局变量的数据结构 以下例子程序均基于Linux平台. typedef st ...
- linux 关闭端口
第一步查看那些程序在使用该端口 netstat -anp或者netstat -tulnp 第二步杀死进程 kill -9 xxx,杀死某个进程 killall 进程名
- 以前积攒的一个用Java程序生成验证码的代码
一个Java类: package com.abc.ufo.util; import java.awt.Color; import java.awt.Font; import java.awt.Grap ...
- ELK学习笔记
一.elk框架和java1.8环境搭建 1.1: 环境说明 约定: centos6 iptables关闭 如果不关闭的话,需要开放对应的端口访问 selinux关闭 1.2: ELK简介 els:El ...
- 【Python】八大排序算法的比较
排序是数据处理比较核心的操作,八大排序算法分别是:直接插入排序.希尔排序.简单选择排序.堆排序.冒泡排序.快速排序.归并排序.基数排序 以下是排序图解: 直接插入排序 思想 直接插入排序是一种最简单的 ...
- 【Python3 爬虫】09_正则表达式(re.math()、re.search()、re.sub()、全局匹配函数)
re.math()函数 从源字符串的起始位置匹配一个模式 语法:re.match(pattern, string, flag) 第一个参数代表对应的正则表达式,第二个参数代表对应的源字符,第三个参数是 ...
- [WebView学习之三]:使用WebView来创建Apps
上一篇我们学习了([WebView学习之二]:使用Web Apps 支持不同分辨率屏),今天我们来继续学习. (博客地址:http://blog.csdn.net/developer_jiangqq) ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(二)—— easyui的简单实用
下面开始在UserManager.Web中利用easyUI构建web. 1. 先删除自带的controllers.models和views(里面的shared和web.config可以保存)下面的文件 ...
- linux 设置tomcat快捷启动方式
在linux下搭建好tomcat之后,每次启动和关闭都要去tomcat的bin目录下执行./startup.sh和./shutdown.sh 这是很不方便的,下面介绍如何像执行ls mv cp等命令一 ...