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. MySQL使用总结

    本篇博客,主要是对MySQL使用的一些总结,会持续更新. MySQL下载安装不再赘述.去官网即可.有企业版和社区版. 用命令行的方式:   1. 先运行MySQL目录的bin下的mysqld.exe ...

  2. 树莓派安装开源智能家居系统 Domoticz

    前言 最近闲来无事开始折腾自己的智能家居系统,对比了几种比较流行的开源智能家居系统,觉得 Domoticz 更适合,Domoticz的官方中文文档,虽然不是很完善但还是可以参考一下.需要注意的是下文用 ...

  3. 老男孩python作业8-学员管理系统

    学员管理系统开发: 需求: 用户角色,讲师\学员, 用户登陆后根据角色不同,能做的事情不同,分别如下 讲师视图 管理班级,可创建班级,根据学员qq号把学员加入班级 可创建指定班级的上课纪录,注意一节上 ...

  4. spring 配置 junit

    package cn.hefen.mall.app; import cn.hefen.mall.app.model.ResultMap; import cn.hefen.mall.app.model. ...

  5. eclipse 自定义 文档

    在这里写....

  6. Netcore中实现字段和属性注入

    https://www.cnblogs.com/loogn/p/10566510.html 简单来说,使用Ioc模式需要两个步骤,第一是把服务注册到容器中,第二是从容器中获取服务,我们一个一个讨论并演 ...

  7. 页面中使用多个element-ui upload上传组件时绑定对应元素

    elemet-ui里提供的upload文件上传组件,功能很强大,能满足单独使用的需求,但是有时候会存在多次复用上传组件的需求,如下图的样子,这时候就出现了问题,页面上有多个上传组件时,要怎么操作呢? ...

  8. gitlab 优化

    gitlab-ctl reconfigure #初次配置服务 gitlab-ctl start #启动服务 gitlab-ctl stop #停止服务 gitlab-ctl restart #重启服务 ...

  9. getElementsByTagName() 兼容性

    写东西的时候用到了getElementsByTagName(),我一直以为js 写的东西是不会有兼容性的,这次在ie8下,getElementsByTagName()就不支持了,那怎么办呢,我就查到一 ...

  10. HTTP的请求头标签 If-Modified-Since

    一直以来没有留意过HTTP请求头的IMS(If-Modified-Since)标签. 最近在分析Squid的access.log日志文件时,发现了一个现象.就是即使是对同一个文件进行HTTP请求,第一 ...