android 自动 键盘,android app 自动化中虚拟键盘的处理方式(key-value)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值