初探appium之appium的使用
上一篇中已经讲了python+appium的环境搭建。这里简单的讲一下appium的使用。
我也是第一次使用appium,看了教程问了人。知道appium可以通过模拟也可以连接上手机使用。本篇中,先使用模拟器和appium编写一段简单的代码练练手。
下面以安卓原生系统的计算器做个示例。笔者使用的是Python3.5.2,appium1.4.16.1
首先我们打开eclipse和模拟器
然后我们打开appium
打开了appium之后记得点击一下右边那个类似播放的按钮启动appium。
好了,我们可以开始编码了
from appium import webdriver desired_caps = {
'platformName':'Android',
'platformVersion':'4.4.2',
'deviceName':'test',
'appPackage':'com.android.calculator2',
'appActivity':'.Calculator'
}
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
driver.find_element_by_name("Phone").click()
driver.find_element_by_name("1").click()
driver.find_element_by_name("3").click()
driver.find_element_by_name("×").click()
driver.find_element_by_name("1").click()
driver.find_element_by_name("5").click()
driver.find_element_by_name("9").click()
driver.find_element_by_name("delete").click()
driver.find_element_by_name("=").click()
driver.quit()
运行这个之后,就会依次的执行打开计算器,依次点击1、3、×、1、5、9、delete、=按键并且在计算器输出结果之后进行关闭。
这里要说明一下,webdriver.Remote实际上就是原生webdriver的子类,另外Remote()构造函数的第一个参数中需要显示指定appium server监听的端口
看起来是不是很熟悉?和selenium是不是很像。
中间有一句是定位计算器中的乘号,这个做起来的时候我有点懵逼。是借助了uiautomatorviewer这个工具才找到了乘号的name属性。因为不是特别熟所以这里不介绍这个东西。过几天笔者研究研究再来给大家分享这个工具的使用。
能力有限,先分享这么多东西吧,希望能够一起进步。
初探appium之appium的使用的更多相关文章
- appium --log-timestamp > appium.log
appium --log-timestamp > appium.log
- 【Appium】Appium工作原理
参考:http://www.cnblogs.com/zhjsll/p/5698878.html 原作者写的很好,所以直接放在这里. 一.什么是Appium Appium是一个开源.跨平台的测试框架,可 ...
- appium(5)-Appium capabilities
Appium Capabilities Appium server capabilities Capability Description Values automationName Which au ...
- Appium与Appium Desktop的区别
Appium-Server的配置,在之前的博文已有介绍,基于Python的Appium环境搭建合集,所以在此处就不详细介绍了.今天主要来分享下Appium-Server和Appium desktop在 ...
- [Appium] 使用Appium过程中遇到的各种坑
以下问题都是以ios为背景: 1. 问题: Case: 在页面S1上,点击元素A后,判读B元素是否出现. Detail:一开始通过Appium Inspector, 可以找到B元素,所以直接取该元素的 ...
- 【Appium】Appium工作原理(2)
Appium原理 面试的时候,被问到appium原理,一点不会,实在尴尬. 大家可以直接翻看原作https://blog.csdn.net/jffhy2017/article/details/6922 ...
- Appium学习——Appium工作原理
appium的工具原理 Appium-client>>>>Appium-server>>>>移动设备 ========================= ...
- appium===Python+Appium环境部署教程
*前提是你已经安装好python,以及python的pip工具 *安装python请自行百度教程~ 1.安装安卓sdk 安装包:http://tools.android-studio.org/inde ...
- Appium禁止appium setting和unlock在设备上重复安装
1.文件:/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-dri ...
随机推荐
- IOS开发-键盘通知自定义键盘
利用键盘通知可实现效果如下: 1.UIKeyboardWillShowNotification: 当点击到可输入的控件上(一般是UITextField)时,键盘会自动显示,并且触发UIKeyboard ...
- 【转】关于 hashCode() 你需要了解的 3 件事
在 Java 中,每一个对象都有一个容易理解但是仍然有时候被遗忘或者被误用的 hashCode 方法.这里有3件事情要时刻牢记以避免常见的陷阱. 一个对象的哈希码允许算法和数据结构将对象放入隔间,就象 ...
- Nexus手动更新索引
如果有耐心的话,完全可以通过在线更新索引的方式来做,但所消耗的时间较长,下面介绍一种简单.可行的方式来手动更新索引文件. 访问http://repo.maven.apache.org/maven2/. ...
- 文件压缩与挤压ZIP
/// <summary> /// Zip压缩与解压缩 /// </summary> public class ZipHelper { /// <summary> ...
- jetty-run运行报错的原因
- smartgit document Rebase
The Rebase command allows you to apply commits from one branch to another. Rebase can be viewed as m ...
- PLSQL_Oracle Object所有数据库对象类型汇总和简解(概念)
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable ...
- DrawTools(画图工具)原始版本
上一篇文章一个优秀的C#开源绘图软件 DrawTools中详细的介绍了DrawTools的几种演化的较高版本的软件的特色与功能. 这篇文章,将介绍一下这款软件的成名版本, 下载地址DrawTool_O ...
- serv-u设置被动模式注意的问题
1.在“本地服务器”->设置->高级里面把端口范围设置一下: 2.在防火墙的入站规则里设置一下上面的端口范围
- Memcache 问题集锦
Memcached 集群架构方面的问题 这里收集了经常被问到的关于memcached的问题 memcached是怎么工作的? memcached最大的优势是什么? memcached和MySQL的qu ...