appium(二)简单的demo
- 启动appium服务,连接手机,将测试用例demo存放到.py文件中
- #-*- coding:utf-8 -*-
- # 引入类库
- import time
- # appiumAPI库
- from appium import webdriver
- # from selenium import webdriver
- # from lib2to3.pgen2.driver import driver
- # 定义启动设备需要的参数
- desired_caps = {}
- # 设备系统
- desired_caps['platformName'] = 'Android'
- # 设备系统版本号
- desired_caps['platformVersion'] = '5.1.2'
- # 设备名称
- desired_caps['deviceName'] = 'MI 3'
- # 要测试的应用的地址
- # desired_caps['app'] = 'C:\\Users\\Administrator\\Desktop\\123456\\moer_finance-release.apk'
- # 应用的包名
- desired_caps['appPackage'] = 'com.moer.moerfinance'
- desired_caps['appActivity'] = '启动的app的activity'
- # 启动app
- driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
- # 重置应用为初始状态
- driver.reset()
- # 设置时间等待,应用在开启的时候需要一定的时间加载页面,如果命令之后没有时间间隔是会导致元素找不到执行错误的
- time.sleep(5)
- # 滑动页面,从x1,y1滑动到x2,y2,滑动的时间为500毫秒
- driver.swipe(800,800,200,800,500)
- driver.quit()
在cmd中执行给文件,就可以看到手机的执行效果。
- from appium import webdriver 引入webdriver类
import time
from appium import webdriver
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '5.1.2'
desired_caps['deviceName'] = 'MI 3'
desired_caps['appPackage'] = 'com.moer.moerfinance'
desired_caps['appActivity'] = 'com.moer.moerfinance.advertisement.AdvertisementActivity'
driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
time.sleep(10)
driver.find_element_by_id("com.moer.moerfinance:id/user_center").click()
time.sleep(5)
driver.find_element_by_id("com.moer.moerfinance:id/main_page_left_portrait_menu").click()
time.sleep(3)
driver.find_element_by_id("com.moer.moerfinance:id/top_bar_login_area").click()
time.sleep(3)
driver.deactivate_ime_engine()
driver.find_element_by_id("com.moer.moerfinance:id/account").send_keys("13269902200")
time.sleep(2)
driver.find_element_by_id("com.moer.moerfinance:id/password").send_keys("654321")
time.sleep(2)
driver.find_element_by_id("com.moer.moerfinance:id/login").click()
driver.quit()
appium(二)简单的demo的更多相关文章
- Python+Appium运行简单的demo,你需要理解Appium运行原理!
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.Appium 的理念 四个原则 1.Web-Selenium 的运行原理 2.Appium ...
- Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)
然后是项目下的文件:完整的项目请看 上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...
- 自动化工具之Appium工具简单介绍
背景 自动化,性能测试,接口测试,开发平台等工作,到底测试的价值在哪里,其实价值来源不断充实与为大众服务,今天简单介绍ui小工具appium攻击. 简单介绍 Appium 是一个自动化测试开源工具,支 ...
- C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo
在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架 ...
- Dubbo入门—搭建一个最简单的Demo框架
一.Dubbo背景和简介 1.电商系统的演进 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. a.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一 ...
- MEF简介及简单的Demo
MEF简介及简单的Demo 文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门 ...
- Spring源码学习:第1步--在Spring源码中添加最简单的Demo代码
为了最大程度地贴近Spring源码并进行学习,一种比较直接的做法是:直接在Spring源码中加入Demo代码,并进行调试. 参照以前使用Spring的经验,Spring最简单的使用方法是:一个实体类. ...
- ThinkPHP框架整合phpqrcode生成二维码DEMO
ThinkPHP框架发展到今天功能已经变得是非常强大了,但是ThinkPHP框架中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能.想使用phpqrcode首先就要把p ...
- Dubbo入门---搭建一个最简单的Demo框架(转)
Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本. ...
- Dubbo简介---搭建一个最简单的Demo框架
Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本. ...
随机推荐
- Set去掉重复的元素
String[] uids= request.getParameterValues("dxus");获取页面传过来的id //--------------------------- ...
- tfs强行签入和删除工作区
作者:为爱痴狂 原文:http://www.cnblogs.com/splyn/archive/2011/10/31/2230213.html 域用户被网络管理员重建,或者其他用户牵出文档,导致的TF ...
- rest_framework 的验证,权限,频率
回到顶部 快速实例 Quickstart 回到顶部 序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之 ...
- json转译的问题
今天遇到一个之前没遇到的情况 这边调用接口的时候,一串json数据我直接解析成php的时候,太长导致我在使用 $json = json_encode($list);转译成的时候,里面有一个数据是时间戳 ...
- 1.搭建JavaEE开发环境
1.Web应用介绍: 2.Servlet简介 3.JSP简介 4.Servlet容器 Web服务器有静态资源和动态页面,静态资源是*.html(文件系统),动态页面是Servlet容器. 5.Tomc ...
- es6数组新方法
(1)Array.from(aarr,fn,obj) function fn(dr, sd, d) { /*Array.from 类数组转化为数组*/ console.log(arguments) v ...
- ETL的两种架构(ETL架构和ELT架构)
ETL ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL一词 ...
- mysql5.7脚本日常使用
#查看数据库物理存放目录show variables like "%datadir%";#查看所有数据库show databases#选择数据库use your_db_name#查 ...
- TCP Nagle算法以及延迟确认(即延迟回复ACK)的学习
TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认.为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据. (一个连TCP接会 ...
- js中的内置对象
在js里,一切皆为或者皆可以被用作对象.可通过new一个对象或者直接以字面量形式创建变量(如var i="aaa"),所有变量都有对象的性质.注意:通过字面量创建的对象在调用属性和 ...