# -*- 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()