Appium+unittest+python登录app
2024-08-28 03:05:46
代码:
# coding=utf-8 from appium import webdriver
import time
import unittest
import os
import HTMLTestRunner class LoginTestLizi(unittest.TestCase):
def setUp(self):
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = 'Android Emulator'
desired_caps['platformVersion'] = '6.0'
desired_caps['appPackage'] = 'com.netease.cloudmusic'
desired_caps['appActivity'] = '.activity.LoadingActivity'
self.driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
def startAPP(self):
wd = self.driver
wd.find_element_by_id("com.netease.cloudmusic:id/arc").click()
wd.find_element_by_id("com.netease.cloudmusic:id/bw4").click()
wd.find_element_by_id("com.android.packageinstaller:id/permission_allow_button").click()
wd.find_element_by_id("com.android.packageinstaller:id/permission_allow_button").click()
time.sleep(10) # 睡眠10S等APP启动完成 def test_login(self):
driver = self.driver
# 进入首页后点击‘我的’按钮
driver.find_element_by_id("com.netease.cloudmusic:id/arc").click()
time.sleep(2)
# 点击登录头像按钮,进行登录,跳转到登录界面
driver.find_element_by_id('com.netease.cloudmusic:id/pt').click()
time.sleep(2)
# 输入手机号
driver.find_element_by_id('com.netease.cloudmusic:id/j5').send_keys('16688886666')
#点击next
driver.find_element_by_id('com.netease.cloudmusic:id/an5').click()
time.sleep(2)
# 输入验证码
driver.find_element_by_id('com.netease.cloudmusic:id/an_').send_keys('1234')
time.sleep(3)
# 点击确认登录按钮
driver.find_element_by_id('com.lizi.app:id/login_button').click() time.sleep(3)
# 登录成功,页面下滑,不然点击不到设置按钮
driver.swipe(500, 200, 500, 800, 0)
time.sleep(2)
# 获取登录后的昵称
name = driver.find_element_by_id('com.lizi.app:id/login_username_tv').text # 添加断言,若昵称不正确,则打印错误信息
try:
assert 'No_matter' in name
print('loginUser is right')
except AssertionError as e:
print('loginUser is Error') # 点击设置按钮,进入设置页面
driver.find_element_by_id('com.lizi.app:id/setting_imageView').click()
# 点击退出按钮
driver.find_element_by_id('com.lizi.app:id/exit_button').click() def tearDown(self):
self.driver.quit() if __name__ == '__main__':
suite = unittest.TestSuite()
suite.addTest(LoginTestLizi('startAPP'))
suite.addTest(LoginTestLizi('test_login'))
filename = 'd:\\app.html'
fb = open(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fb, title='liziapptestreport', description='liziapp')
runner.run(suite)
fb.close()
最新文章
- Linux Kernel Version Numbering
- 使用的 SQL Server 版本不支持数据类型“datetime2”的错误解决方法
- 【leetcode】3 SUM
- 如何用BMFont制作图片字
- 直播未来属于RTMP还是HTTP?
- ERP_基于Oracle ADF的定制化企业级IT系统解决方案
- iPhone的定位技术与Core Location框架
- Django升级1.6之后出现“Bad Request (400)”错误的解决方案
- Codeforces Round #353 (Div. 2) D. Tree Construction (二分,stl_set)
- 需要MARK一下,奇怪的ANDROID SDK自带的APK加密功能的问题
- iOS 16进制颜色转换10进制颜色
- Oracle定时器调用存储过程
- Hibernate入门(二)
- Unity 游戏框架搭建 (四) 简易有限状态机
- Java I/O---输入与输出
- springboot集成jpa
- Pushgateway 介绍
- ivew Tooltip
- RocketMQ入门(消费者)_3
- VSTO:使用C#开发Excel、Word【17】