您的位置:首页 > 移动开发

Appium(Python)入门示例一

2016-09-10 10:54 176 查看
环境搭建好后,就可以愉快的开始手机自动化测试了,博主以安卓为例

1.初始化的设置
A.打开Appiium-左上角[Android Settings],我连接的是真机,所以接下来讲的都是关于真机的例子




B.也可以通过在源码中进行初始化
新建一个test.py文件,如图,




注意:
a、webdriver.Remote实际上就是原生webdriver的子类,另外Remote()构造函数的第一个参数中需要显示指定appium server监听的端口
这个地址为http://127.0.0.1:4723/wd/hub,wd/hub不可省略
打开Appium Sever,可以看到信息




注意:
b、关于deviceName,打开手机-设置-关于手机-设备名称
博主试了物理机id也是可行的,如果你以安装adb工机具,cmd命令,输入adb devices会显示你连接的设备名称,前提是通过USB连接到电脑




2、写一个登录的case。完整代码如下图


#coding:utf-8
import time
import os
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
PATH=lambda p:os.path.abspath(os.path.join(os.path.dirname(__file__),p))

#初始化
desired_caps={}
#使用哪种移动平台
desired_caps['platformName']='Android'
#Android版本
desired_caps['platformVersion']='6.0.1'
#启动哪种设备,是真机还是模拟器?
desired_caps['deviceName']='Galaxy S6 edge'
#App的绝对路径
desired_caps['app']=PATH('D:\kuyu.apk')
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)#初始化
desired_caps['unicodeKeyboard']=True,#使用unicodeKeyboard的编码方式来发送字符串
desired_caps['resetKeyboard']=True#将键盘给隐藏起来
WebDriverWait(driver,20).until(lambda the_driver: the_driver.find_element_by_id("com.kuyu:id/tv_login").is_displayed())
driver.find_element_by_id("com.kuyu:id/tv_login").click()
#输入用户名
driver.find_element_by_id("com.kuyu:id/et_email").send_keys("******")
#输入密码
driver.find_element_by_id("com.kuyu:id/et_pwd").send_keys("******")
#点击登录
driver.find_element_by_id("com.kuyu:id/tv_login").click()
#这里加了一个等待,判断指定的元素出现则为登录成功(等待方法不懂没有关系,以后会再讲解如何设置等待)
WebDriverWait(driver,20).until(lambda the_driver: the_driver.find_element_by_id("com.kuyu:id/include_study_iv_add").is_displayed())
print(u"登录成功")
driver.quit()


3.是不是不知道怎么进行元素定位,不要着急
打开你安装sdk的目录,sdk/tools/uiautomatorviewer.bat,双击打开
点击左上角的第2个图标Device Screenshoot,会显示当前屏幕信息,切换界面后再次点击即可
点击登录按钮,右边会显示详细信息,你可以找到对应元素的id,当然还有其他的定位方式,以后会详细讲解




4.运行
写好之后,是不是迫不及待的想要运行你的程序了呢。嘿嘿
a.确保你的手机已经连接到电脑,我用的360手机助手,连接成功即可
b.打开Appium Sever.Appium有上角的开始




c.运行CMD命令,直接将你的py文件拖到窗口中,或者输入python “py文件的路径地址”
我的示例为python  D:\python_wxy\test.py
登录成功并打印了信息,如下图所示,这就是一个简单的登录case




注意: 开始运行后,Appium会打印log日志,程序没有错误的会显示下图,光标在闪动,等待执行
如果程序出现语法或者对齐错误,DOS窗口会有提示信息,告诉你哪一行有问题,然后进行修改




是不是so easy,麻麻再也不用担心我不会自动化测试啦!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息