# -*- encoding=utf8 -*- __author__="paul" __title__="test payment 1000 times" __desc__=''' this is a payment auto test script for running 1000 times. ''' from appium import webdriver import os import time import unittest import HTMLTestRunner from selenium.webdriver.support.ui import WebDriverWait import random Email='paul.wang@bd.com' password='w111111' def load(): # 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) return driver global driver driver=load() def login(): 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) def testpayment(): ran=random.uniform(0,1000) randomnum=round(ran,2) print(randomnum) num=randomnum numstr=str(num) print(numstr) dict={} dict['1']=1 dict['2']=2 dict['3']=3 dict['4']=4 dict['5']=5 dict['6']=6 dict['7']=7 dict['8']=8 dict['9']=9 dict['0']=0 # dict['.']='.' print(dict) for i in range(0,len(numstr)): print(numstr[i]) a=numstr[i] if a in dict.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 except Exception as e: print("Error!maybe元素element定位出現問題,請檢查!") print(e) driver.get_screenshot_as_file('/document/error_png.png') # continue finally: pass login() for i in range(1,10001): print("==================這是第 %d 次pay操作Running==============" %(i)) testpayment()