作者在 2016-04-08 21:17:21 发布以下内容
#-*- coding:UTF-8 -*- #
'''
Created on 2016-4-8
@author: poptest
'''
import time
from appium import webdriver
class PublicFunClass(object):
def clickAct(self,getType,getValue): #将点击动作封装成def
if getType == "id":
return lee.find_element_by_id(getValue).click()
elif getType == "name":
return lee.find_element_by_name(getValue).click()
elif getType == "link_text":
return lee.find_element_by_link_text(getValue).click()
elif getType == "xpath":
return lee.find_element_by_xpath(getValue).click()
def addgoodsaddress(self,userName,userTel,userAddr):
time.sleep(3)
M.clickAct("id","com.subject.zhongchou:id/avatar_img") #登陆进去,点击头像、
time.sleep(2)
M.clickAct("id","com.subject.zhongchou:id/address_layout") #点击地址
time.sleep(2)
M.clickAct("id","com.subject.zhongchou:id/add_address_btn") #点击添加地址按钮
time.sleep(2)
lee.find_element_by_id("com.subject.zhongchou:id/add_address_name_edit").send_keys(userName) #进去后点击增加名字
time.sleep(2)
lee.find_element_by_id("com.subject.zhongchou:id/add_address_tel_edit").send_keys(userTel) #输入手机号
time.sleep(2)
M.clickAct("id","android:id/text1") #点击选择省份
time.sleep(2)
lee.swipe(360, 1000, 360, 370, 500) #滑屏坐标,上下滑屏
time.sleep(2)
#需要滑屏2次,才能找见需要的省份
lee.swipe(360, 1000, 360, 370, 500)
time.sleep(2)
lee.find_element_by_android_uiautomator("new UiSelector().text(\"山西\")").click() #找见山西,点击选择
time.sleep(2)
M.clickAct("id","com.subject.zhongchou:id/add_address_city_name_text") # 选择城市
time.sleep(2)
lee.find_elements_by_android_uiautomator("new UiSelector().className(\"android.widget.CheckedTextView\")")[2].click() #选择下表为2 的城市
time.sleep(2)
lee.find_element_by_id("com.subject.zhongchou:id/add_address_detail_edit").send_keys(userAddr) #输入地址
time.sleep(1)
M.clickAct("id","com.subject.zhongchou:id/save_text") #点击保存
def login(self,telPhone,passW):
time.sleep(4)
lee.find_elements_by_id("com.subject.zhongchou:id/item_name")[1].click()
time.sleep(2)
M.clickAct("id","com.subject.zhongchou:id/login_now_tv") #点击登录
time.sleep(3)
lee.find_element_by_id("com.subject.zhongchou:id/loginnumber_phones").send_keys(telPhone) # 输入手机号
time.sleep(2)
lee.find_element_by_id("com.subject.zhongchou:id/loginnumber_password").send_keys(passW) # 输入密码
time.sleep(2)
M.clickAct("id","com.subject.zhongchou:id/go_numberlogin")
def enterApp(self):
global lee,M
descried_caps={}
descried_caps["unicodeKeyboard"] = "True" #设置键盘
descried_caps["resetKeyboard"] = "True" #重设键盘
descried_caps['device']='2014813'
descried_caps['platformName']='Android' #传输设备好
descried_caps['deviceName']='HM2014813'
descried_caps['version']='5.1'
lee = webdriver.Remote("http://127.0.0.1:4723/wd/hub",descried_caps) #找见appium的IP地址和端口号
M = PublicFunClass() #将类实例化
#-*- coding:UTF-8 -*- #
'''
Created on 2016-4-8
@author: poptest
'''
import unittest,time
from publicfunction import PublicFunClass
C = PublicFunClass.PublicFunClass()
class Test(unittest.TestCase):
def setUp(self):
C.enterApp()
def tearDown(self):
pass
def testLogin(self):
C.login("13613552859","111111")
time.sleep(2)
C.addgoodsaddress(u"李小龙","133333333333",u"it is diffcalt to do")
#如果放在不同的用例中,流程为setup-testlong-teardown,第二遍执行setup-test-testAddr.因为无法登陆所以会出现添加地址失败。
# def testAddr(self):
# C.login("13613552859","111111")
# time.sleep(2)
# C.addgoodsaddress(u"李小龙","13333333333",u"honest to express oneself")
if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.testName']
unittest.main()