Python+Andrid+Unittest自动化实现QQ登录

Python+Andrid+Unittest自动化实现QQ登录


框架简介

import unittest

class RunCase(unittest.TestCase):

	@classmethod
	def setUpClass(cls):
		print('所有case执行之前的前置')
		
	@classmethod
	def tearDownClass(cls):
		print('所有case执行之后的后置')

	def setUp(self):
		print('每条case之前执行')

	def tearDown(self):
		print('每条case之后执行')

	@unittest.skip('')  # 无条件跳过此条case
	def test_case01(self):
		"""第一条case打开网页"""
		print('我是case01')

	def test_case02(self):
		"""第二条case输入账号"""
		print('我是case02')

if __name__ == '__main__':
	# 构造测试集
	suite = unittest.TestSuite()
	suite.addTest(RunCase('test_case01'))
	suite.addTest(RunCase('test_case02'))
	# 运行测试集
	runner = unittest.TextTestRunner()
	runner.run(suite)

例子

from appium import webdriver
import time,unittest
from Scripts.HTMLTestRunner_cn import HTMLTestRunner
class Testlogin(unittest.TestCase):
    def setUp(self):#初始化
        self.desired_caps={}
        self.desired_caps['platformName'] = r'Android'
        self.desired_caps['deviceName']=r"836f304c43583057"
        self.desired_caps['preformVersion']=r'7.0'
        self.desired_caps['appPackage'] ='com.sec.android.app.launcher'
        self.desired_caps['appActivity']='.activities.LauncherActivity'
        #self.desired_caps['appPackage'] ='com.tencent.mobileqq'
        #self.desired_caps['appActivity']='.activity.SplashActivity'
        self.driver=webdriver.Remote('http://localhost:4723/wd/hub', self.desired_caps)#启动 app
        time.sleep(15)
    def tearDown(self):#还原测试环境
        self.driver.quit()
    def test_Login1(self):#测试用例
        #self.driver.find_element_by_android_uiautomator("new UiSelector().text(\"" + QQ + "\")")
        self.driver.find_element_by_accessibility_id('QQ').click()
        #WebDriverWait(self.driver, seconds).until(lambda x: x.find_element_by_accessibility_id('请输入QQ号码或手机或邮箱'))
        me=self.driver.find_element_by_accessibility_id('请输入QQ号码或手机或邮箱')
        me.clear()
        me.send_keys('1471976302')
        password=self.driver.find_element_by_id('com.tencent.mobileqq:id/password')
        password.clear()
        password.send_keys('45667')
        self.driver.find_element_by_id('com.tencent.mobileqq:id/login').click()
        time.sleep(5)
        self.driver.find_element_by_id('com.tencent.mobileqq:id/obm').click()
        self.driver.find_element_by_accessibility_id('退出当前帐号').click()
        self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogRightBtn').click()
    def test_Login2(self):#测试用例
        self.driver.find_element_by_accessibility_id('QQ').click()
        me=self.driver.find_element_by_accessibility_id('请输入QQ号码或手机或邮箱')
        me.clear()
        me.send_keys('1471976302')
        password=self.driver.find_element_by_id('com.tencent.mobileqq:id/password')
        password.clear()
        password.send_keys('700')
        self.driver.find_element_by_id('com.tencent.mobileqq:id/login').click()
        time.sleep(5)
        if self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogTitle') is  None:
            print('login is sucess')
        else:
            print('login is Flase')
            print(self.driver.find_element_by_id('com.tencent.mobileqq:id/dialogText').text)
        time.sleep(5)
        self.driver.find_element_by_accessibility_id('确定').click()
if __name__ == '__main__':
        suiteTest = unittest.TestSuite()
        suiteTest.addTest(Testlogin("test_Login1"))
        suiteTest.addTest(Testlogin("test_Login2"))
        now=time.strftime('%Y-%m%d',time.localtime(time.time()))
        report_dir= r'%s.html'%n
        owre_open= open(report_dir,'wb')
        runner=HTMLTestRunner.HTMLTestRunner(stream=re_open,title='QQ测试',description='测试结果')
        runner.run(suiteTest)

如何实现Appium每次运行可不用卸载手机上的Appium Settings 和Unlock
详见此文章
亲测有效

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值