1. 启动appium服务,连接手机,将测试用例demo存放到.py文件中
  1. #-*- coding:utf-8 -*-
  2. # 引入类库
  3. import time
  4. # appiumAPI库
  5. from appium import webdriver
  6. # from selenium import webdriver
  7. # from lib2to3.pgen2.driver import driver
  8. # 定义启动设备需要的参数
  9. desired_caps = {}
  10. # 设备系统
  11. desired_caps['platformName'] = 'Android'
  12. # 设备系统版本号
  13. desired_caps['platformVersion'] = '5.1.2'
  14. # 设备名称
  15. desired_caps['deviceName'] = 'MI 3'
  16. # 要测试的应用的地址
  17. # desired_caps['app'] = 'C:\\Users\\Administrator\\Desktop\\123456\\moer_finance-release.apk'
  18. # 应用的包名
  19. desired_caps['appPackage'] = 'com.moer.moerfinance'
  20. desired_caps['appActivity'] = '启动的app的activity'
  21. # 启动app
  22. driver = webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
  23. # 重置应用为初始状态
  24. driver.reset()
  25. # 设置时间等待,应用在开启的时候需要一定的时间加载页面,如果命令之后没有时间间隔是会导致元素找不到执行错误的
  26. time.sleep(5)
  27. # 滑动页面,从x1,y1滑动到x2,y2,滑动的时间为500毫秒
  28. driver.swipe(800,800,200,800,500)
  29. driver.quit()

在cmd中执行给文件,就可以看到手机的执行效果。

  1. 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的更多相关文章

  1. Python+Appium运行简单的demo,你需要理解Appium运行原理!

    坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 目录 一.Appium 的理念 四个原则 1.Web-Selenium 的运行原理 2.Appium ...

  2. Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)

    然后是项目下的文件:完整的项目请看  上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...

  3. 自动化工具之Appium工具简单介绍

    背景 自动化,性能测试,接口测试,开发平台等工作,到底测试的价值在哪里,其实价值来源不断充实与为大众服务,今天简单介绍ui小工具appium攻击. 简单介绍 Appium 是一个自动化测试开源工具,支 ...

  4. C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo

    在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架 ...

  5. Dubbo入门—搭建一个最简单的Demo框架

    一.Dubbo背景和简介 1.电商系统的演进 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. a.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一 ...

  6. MEF简介及简单的Demo

    MEF简介及简单的Demo 文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门 ...

  7. Spring源码学习:第1步--在Spring源码中添加最简单的Demo代码

    为了最大程度地贴近Spring源码并进行学习,一种比较直接的做法是:直接在Spring源码中加入Demo代码,并进行调试. 参照以前使用Spring的经验,Spring最简单的使用方法是:一个实体类. ...

  8. ThinkPHP框架整合phpqrcode生成二维码DEMO

    ThinkPHP框架发展到今天功能已经变得是非常强大了,但是ThinkPHP框架中没有二维码相关的库,因此我们可以通过整合phpqrcode来完成生成二维码的功能.想使用phpqrcode首先就要把p ...

  9. Dubbo入门---搭建一个最简单的Demo框架(转)

    Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本.  ...

  10. Dubbo简介---搭建一个最简单的Demo框架

    Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本.  ...

随机推荐

  1. Set去掉重复的元素

    String[] uids= request.getParameterValues("dxus");获取页面传过来的id //--------------------------- ...

  2. tfs强行签入和删除工作区

    作者:为爱痴狂 原文:http://www.cnblogs.com/splyn/archive/2011/10/31/2230213.html 域用户被网络管理员重建,或者其他用户牵出文档,导致的TF ...

  3. rest_framework 的验证,权限,频率

    回到顶部 快速实例 Quickstart 回到顶部 序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之 ...

  4. json转译的问题

    今天遇到一个之前没遇到的情况 这边调用接口的时候,一串json数据我直接解析成php的时候,太长导致我在使用 $json = json_encode($list);转译成的时候,里面有一个数据是时间戳 ...

  5. 1.搭建JavaEE开发环境

    1.Web应用介绍: 2.Servlet简介 3.JSP简介 4.Servlet容器 Web服务器有静态资源和动态页面,静态资源是*.html(文件系统),动态页面是Servlet容器. 5.Tomc ...

  6. es6数组新方法

    (1)Array.from(aarr,fn,obj) function fn(dr, sd, d) { /*Array.from 类数组转化为数组*/ console.log(arguments) v ...

  7. ETL的两种架构(ETL架构和ELT架构)

     ETL ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的过程.ETL一词 ...

  8. mysql5.7脚本日常使用

    #查看数据库物理存放目录show variables like "%datadir%";#查看所有数据库show databases#选择数据库use your_db_name#查 ...

  9. TCP Nagle算法以及延迟确认(即延迟回复ACK)的学习

    TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认.为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据. (一个连TCP接会 ...

  10. js中的内置对象

    在js里,一切皆为或者皆可以被用作对象.可通过new一个对象或者直接以字面量形式创建变量(如var i="aaa"),所有变量都有对象的性质.注意:通过字面量创建的对象在调用属性和 ...