#-*- encoding=utf8 -*-
__author__="paul"
__title__="test payment 1000 times"
__desc__='''this is a payment auto test script for running 1000 times.'''
from appium importwebdriverimportosimporttimeimportunittestimportHTMLTestRunnerfrom selenium.webdriver.support.ui importWebDriverWaitimportrandom
Email='paul.wang@bd.com'password='w111111'
defload():#os.system("adb install -r /Users/bd/Desktop/test_kioskapp.apk ")
desired_caps={'platformName':'Android','deviceName':'0123456789ABCDEF','platformVersion':'5.1.1','appPackage':'com.bd.paymentapp.dev','appActivity':'com.bd.paymentapp.MainActivity',
}
driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)#driver.implicitly_wait(10)
returndriverglobaldriver
driver=load()deflogin():
driver.implicitly_wait(10)
driver.find_element_by_android_uiautomator("new UiSelector().textStartsWith(\"Ignore\")").click()
driver.find_element_by_android_uiautomator("new UiSelector().textStartsWith(\"bd ID\")").send_keys(Email)
driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.EditText[2]").send_keys(password)
driver.find_element_by_android_uiautomator("new UiSelector().text(\"Sign In\")").click()
driver.implicitly_wait(20)print("login succuss!")
driver.find_element_by_android_uiautomator("new UiSelector().text(\"BEA1\")").click()
driver.implicitly_wait(20)
driver.find_element_by_android_uiautomator("new UiSelector().text(\"Sale\")").click()
driver.implicitly_wait(3)deftestpayment():
ran=random.uniform(0,1000)
randomnum=round(ran,2)print(randomnum)
num=randomnum
numstr=str(num)print(numstr)
dict={}
dict['1']=1dict['2']=2dict['3']=3dict['4']=4dict['5']=5dict['6']=6dict['7']=7dict['8']=8dict['9']=9dict['0']=0#dict['.']='.'
print(dict)for i inrange(0,len(numstr)):print(numstr[i])
a=numstr[i]if a indict.keys():print(dict[a])
b=dict[a]if b=='.':
driver.find_element_by_android_uiautomator("new UiSelector().text(\".\")").click()else:
driver.find_element_by_android_uiautomator("new UiSelector().text(\"%d\")" %(b)).click()pass
try:
driver.find_element_by_android_uiautomator("new UiSelector().text(\"CHARGE\")").click()pass
exceptException as e:print("Error!maybe元素element定位出现问题,请检查!")print(e)
driver.get_screenshot_as_file('/document/error_png.png')#continue
finally:passlogin()for i in range(1,10001):print("==================这是第 %d 次pay操作Running==============" %(i))
testpayment()