appium+python+eclipse简单编写小示例!
Appium简单介绍!
一、appium分成3个部分来看,分别为:appium服务端、appium客户端、设备端
1、设备端
WebDriverAgentRunner 的应用,以后简称 WDA,这个应用的作用就是对你的目标 App 进行测试。
setUp方法中主要做一些测试前的准备,tearDown方法是测试结束后的清理工作,所有的测试函数都必须以 test
开头,如下文提到的test_appium_01
2、appium服务端
appium服务端是一个node.js应用,这个应用跑在电脑上,用语和WDA进行通信,涉及到相关的测试操作,因此appium和WDA约定了一套通信协议,采用的是WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架
3、appium客户端
appium指的是我们写的测试代码,Appium 支持多种测试语言的根本原因在于,WebDriver 协议为各种主流语言提供了一个第三方库,能够方便的把测试脚本转化成符合 WebDriver 规范的 URL
二、appium的运行原理
提供各个语言的第三方库,将测试脚本转化成 WebDriver 协议下的 URL,通过 Node 服务发送到各个平台上的代理工具,代理工具在运行过程中不断接收 URL,根据 WebDriver 协议解析出要执行的操作,然后调用各个平台上的原生测试框架完成测试,再将测试结果返回给 Node 服务器。
运行代码之前的注意点:
1、相关的环境配置已经ok(eclipse中安装pydev)
2、打开appium.exe,进行如下操作
3、webdriver.Remote中的链接填写内容,查找方式如下:
贴出代码如下:
代码的内容介绍:只是进行简单的“打开短信应用,并且退出”,主要是为了验证appium的环境是否都ok
# coding=UTF-8 ''' Created on 2017/6/13 @author: SYW ''' from Test.logs.logs import logging #自己封装的log打印方法 from appium import webdriver import unittest from time import sleep class Test_appium(unittest.TestCase): def setUp(self): logging.info("Test_appium.....setUp") #提示信息,无log信息的,可将此删除 desired_cups = {} desired_cups['platformName'] = 'Android' desired_cups['platformVersion'] = '4.4.2' desired_cups['deviceName'] = '0123456789ABCDEF' #手机的串号,手机usb连接电脑,使用adb devices即可查看此串号,复制粘贴此处即可 desired_cups['appPackage']= 'com.android.mms' #打开应用的包名 desired_cups['appActivity'] = 'com.android.mms.ui.ConversationList' #应用的活动名称 self.device = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_cups) #appium的服务,查看地方:打开已经安装的appium,点击“设置”查看端口 sleep(2) def tearDown(self): unittest.TestCase.tearDown(self) self.device.quit() #退出App def test_appium_01(self): '''打开短信app''' self.device.start_activity('com.android.mms', 'com.android.mms.ui.ConversationList') print '00000000000' #随便打印的提示信息 if __name__ == '__main__': unittest.main()
1.作者:Syw 2.出处:http://www.cnblogs.com/syw20170419/ 3.本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 4.如果文中有什么错误,欢迎指出。以免更多的人被误导。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?