python模拟手机充值场景_appium+Python实例(二)模拟新建场景表(辅助测试执行)...

#coding:utf-8 #解决中文乱码问#Import the common package

from appium importwebdriverfrom time importsleep#初始化

desired_caps ={}

desired_caps['platformName'] = 'Android'desired_caps['platformVersion'] = '4.4.4'desired_caps['deviceName'] = 'f48e929e7371'desired_caps['appPackage'] = 'com.smartlifev30'desired_caps['appActivity'] = 'com.smartlifev30.activity.GuideActivity'desired_caps['unicodeKeyboard'] = 'True' #键盘支持中文输入要添加该代码

desired_caps["resetKeyboard"] = 'True' #隐藏手机自带的虚拟键盘,防止遮挡元素

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)#集中定义局部变量

appnme = "com.smartlifev30"username= "13……"pwd= '1'goalGeteway= "sn号:000c43132……b"tianjia= '添加设备'

#检查app是否安装,Flag=True/False

Flag =driver.is_app_installed(appnme)print("smartlife APP是否已经安装:",Flag)#if not Flag:#driver.install_app("C:/Users/Lenovo/Desktop/android_v3.0.7……4.1.apk")#sleep(30)#sleep(28)

#app检测到新版本时,会提示弹出“下载更新"的框,此次需要加判断(若有新版本暂时不更新,无新版时,无任何操作#无新版本时,定位不到弹出框界面的”否“按键,因此要try捕获异常,从而让程序继续往下执行,不会终止运行。

try:

driver.find_element_by_id("android:id/button2").click()exceptException as e:print("未检测到新版本,line=36:", e)

sleep(1)#登录服务器模块---????????----可以抽象为一个方法 抽象为一个对象,分别适合与哪些情况#要考虑使用token方式进行登陆,故用try-except进行判断

try:

driver.find_element_by_id("com.smartlifev30:id/phone_number").clear()

driver.find_element_by_id("com.smartlifev30:id/phone_number").send_keys(username)

sleep(3)

driver.find_element_by_id("com.smartlifev30:id/password").clear()

driver.find_element_by_id("com.smartlifev30:id/password").send_keys(pwd)

sleep(2)

driver.find_element_by_id("com.smartlifev30:id/btn_login").click()

sleep(10)exceptException as e:print("未显示登录界面,已用token登录,line=52:", e)#在网关列表,选择目标网关进行登录(考虑列表中有个网关的情况)

if driver.find_element_by_id("com.smartlifev30:id/theme").text ==tianjia :print('恭喜你已经进入网关列表界面')

snLst= driver.find_elements_by_id("com.smartlifev30:id/hareware_sn")for tempName insnLst:if tempName.text ==goalGeteway :

tempName.click()breaksleep(23)#我的--设置--情景设置--添加软场景(可调光控制器支持20个场景表)

driver.find_element_by_id("com.smartlifev30:id/home_mine").click()

sleep(1)

shezhi=driver.find_element_by_id("com.smartlifev30:id/mineopt_item_txt").textif shezhi == "设置":

driver.find_element_by_id("com.smartlifev30:id/mineopt_item_txt").click()

sleep(1)#定位到情景设置按键,进入管理界面

setLen=driver.find_elements_by_id("com.smartlifev30:id/hc_item_txt")if len(setLen) >3:if driver.find_elements_by_id("com.smartlifev30:id/hc_item_txt")[3].text == '情景设置':

driver.find_elements_by_id("com.smartlifev30:id/hc_item_txt")[3].click()#添加软场景--(添加指定名称的设备到场景中)

for i in range(1,6):#点击+,添加软场景

driver.find_element_by_id("com.smartlifev30:id/btn_add").click()#输入情景名称

driver.find_element_by_id("com.smartlifev30:id/edit_scene_name").send_keys("secens"+str(i))#进入房间管理界面

driver.find_element_by_id("com.smartlifev30:id/edit_room_select").click()#选择第一个房间

driver.find_element_by_id("com.smartlifev30:id/ll_room_item").click()#添加设备(需在第一个房间中)

driver.find_element_by_id("com.smartlifev30:id/add_dev").click()#在设备列表界面,选中要添加的设备

devLst = driver.find_elements_by_id("com.smartlifev30:id/contact_name")for oneDev indevLst:if oneDev.text == '可调光':

oneDev.click()break

#选择好了设备,点击保存按键

driver.find_element_by_id("com.smartlifev30:id/btn_confirm").click()#在情景记录编辑界面--设置可调光的开关情况

driver.find_element_by_id("com.smartlifev30:id/txt_instruct").click()#设置可调光均为关

driver.find_element_by_id("com.smartlifev30:id/iv_title_right").click()#在情景记录的编辑界面,点击保存按键

driver.find_element_by_id("com.smartlifev30:id/btn_confirm").click()

sleep(1)

sleep(10)#删除所有情景记录--可能会出现的问题,比如删除前查询到总记录=5,删除3条后,删第4条时,若按index=3删除,则会定位失败,因为当前界面只有2个记录了。所以每次总删第一条,循环5次即可。

deLst = driver.find_elements_by_id("com.smartlifev30:id/btn_item_del")for delSecen indeLst:

driver.find_element_by_id("com.smartlifev30:id/btn_item_del").click()

driver.find_element_by_id("android:id/button1").click()#依赖当前所处菜单级数,决定后退几次才能返回主界面,才能在主界面定位“我的”-->退出登录

driver.find_element_by_id("com.smartlifev30:id/home_mine").click()

sleep(10)

driver.find_element_by_id("com.smartlifev30:id/login_out").click()#结束测试

driver.quit()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值