appium python自动测试 百度网盘_python自动化:通过appium实现云测

本文展示了如何使用Appium Python库进行自动化测试,特别是针对百度网盘的云测。首先启动Appium服务,然后配置设备信息,包括平台名称、版本、设备名、应用路径、包名和活动。接着,通过定位元素并执行点击操作,进行登录验证测试。如果看到预期的‘账号注册’文本,测试即为成功。测试完成后,截图保存,并卸载应用。
摘要由CSDN通过智能技术生成

#通过appium实现云测

importosimportthreadingimporttimefrom appium importwebdriverfrom xctest_app.xc_tools.get_aapt import *

from xctest_app.xc_tools.get_DevicesInfo import *

classappiumtest:defget_start(self,udid,port,bport,version,app_path,package,activity):

logfile='./xc_logs/'+str(udid).replace(':','_')+'.log'

#启动appium服务

cmd=f'start /b appium -a 127.0.0.1 -p {port} -bp {bport} --log-timestamp --log {logfile}'os.system(cmd)

time.sleep(10)

di={}

di['platformName']='Android'di['platformVersion']=version

di['deviceName']='Appium'di['app']=app_path

di['unicodeKeyboard'] =True

di['resetKeyboard'] =True

di['appPackage']=package

di['appActivity']=activity

di['udid']=udid#android6上需要指明

#di['automationName']='uiautomator2'

driver = webdriver.Remote(f'http://127.0.0.1:{port}/wd/hub',di)

time.sleep(5)

driver.implicitly_wait(20)try:

driver.find_element_by_id('com.ss.android.article.news:id/a5a').click()

time.sleep(5)

driver.find_element_by_xpath("//android.widget.TextView[@text='未登录']").click()

driver.find_element_by_xpath("//android.widget.TextView[@resource-id='com.ss.android.article.news:id/ca1']").click()

r=driver.find_element_by_xpath("//android.widget.TextView[@resource-id='com.ss.android.article.news:id/s1']").textif r=='账号注册':print('测试成功')else:print('测试失败')except:print('脚本异常')#截图

screen_name=time.strftime('%Y%m%d_%H%M%S.png')

driver.get_screenshot_as_file(f'./xc_report/{screen_name}')#卸载

time.sleep(5)

os.system(f'adb -s {udid} uninstall {package}')if __name__ == '__main__':

os.system('taskkill /F /IM node.exe')

app_path='./xc_apk/wangyiyunyinyue.apk'a=appiumtest()#调用封装的方法获取app的主包名和activityname

aapt=packagename_activity().get_packagename(app_path)#调用封装的方法获取udid、版本号、端口信息

list=DevicesInfo().get_devices()for i inlist:

device_info=i.split('#')

udid=device_info[0]

version=device_info[1]

port=device_info[2]

bport=device_info[3]

t=threading.Thread(target=appiumtest().get_start,args=(udid,port,bport,version,app_path,aapt[0],aapt[1]))

t.start()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值