简介 好久没有更新博客了,博友们是不是有点等不及了。不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的。从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完整的python+appium自动化测试框架。 框架背景 前面我们已经学习了Appium各种元素定位,手势操作、数据配置、Pageobject设计模式等等。但是前面的功能都是比较零散的,没有整体融合起来,实际项目实践过程中我们需要综合运用,那么本章节我们将结合之前所学的内容,从0到1搭建一个完整的python+appium自动化测试框架。 框架功能 业务功能的封装 测试用例封装 测试包管理 截图处理 断言处理 日志获取 测试报告生成 数据驱动 数据配置 Win10 64Bit Appium 1.7.2 考研帮App Android版3.1.0 夜神模拟器 Android 5.1.1 测试案例 测试环境 1.宏哥的系统环境是Windows 10版本 64位系统 2.宏哥的dk版本:"1.8.0_181" 3.宏哥的appium版本:1.4.16 4.selenium:3.141.0 安装selenium: 输入指令pip install selenium 验证安装成功:pip show selenium 5.测试设备:Android 5.1.1 (不能低于5.0版本) 6.Python:3.7.2 命令:python -V ,回车即可。 7.测试App: 考研帮Android app V3.1.0 覆盖用例 1.登录场景 用户名 密码 北京宏哥2018 bjhg2018 北京宏哥2019 bjhg2019 666 222 2.代码实现 3.参考代码 test_login.py 复制代码 # coding=utf-8 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行 # 2.注释:包括记录创建时间,创建人,项目名称。 ''' Created on 2019-9-25 @author: 北京-宏哥 Project: Appium自动化测试框架综合实践 - 框架简介 - 登录 ''' # 3.导入模块 from common.myunit import StartEnd from businessView.loginView import LoginView import unittest import logging class TestLogin(StartEnd): csv_file='../data/account.csv' @unittest.skip('test_login_bjhg2019') def test_login_bjhg2019(self): logging.info('======test_login_bjhg2019=====') l=LoginView(self.driver) data=l.get_csv_data(self.csv_file,2) l.login_action(data[0],data[1]) self.assertTrue(l.check_loginStatus()) # @unittest.skip('skip test_login_bjhg2018') def test_login_bjhg2018(self): logging.info('======test_login_bjhg2018=====') l=LoginView(self.driver) data = l.get_csv_data(self.csv_file, 1) l.login_action(data[0], data[1]) self.assertTrue(l.check_loginStatus()) @unittest.skip('test_login_error') def test_login_error(self): logging.info('======test_login_error=====') l = LoginView(self.driver) data = l.get_csv_data(self.csv_file, 3) l.login_action(data[0], data[1]) self.assertTrue(l.check_loginStatus(),msg='login fail!') if __name__ == '__main__': unittest.main() 复制代码 1.注册场景 注册一个新的账号(账户和密码可以随机生成),完善院校和专业信息 (如:院校:上海-同济大学 专业:经济学类-统计学-经济统计学) 2.代码实现 3.参考代码 test_register.py 复制代码 # coding=utf-8 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行 # 2.注释:包括记录创建时间,创建人,项目名称。 ''' Created on 2019-9-25 @author: 北京-宏哥 Project: Appium自动化测试框架综合实践 - 框架简介 - 注册 ''' # 3.导入模块 from common.myunit import StartEnd from businessView.registerView import RegisterView import logging,random,unittest class RegisterTest(StartEnd): def test_user_register(self): logging.info('======test_user_register======') r=RegisterView(self.driver) username = 'zxw2018' + 'fly' + str(random.randint(1000, 9000)) password = 'zxw2018' + str(random.randint(1000, 9000)) email = '51zxw' + str(random.randint(1000, 9000)) + '@163.com' self.assertTrue(r.register_action(username,password,email)) if __name__ == '__main__': unittest.main() 复制代码 框架设计图 这里宏哥根据两个场景设计了大致框架 小结   今天就分享这么多吧,后边就由宏哥手把手的教你从0到1的搭建一个完整的python+appium的自动化测试框架。 个人公众号 微信群 (微信群已满100,可以加宏哥的微信拉你进群,请备注:进群) 您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得点波 推荐 哦!!!(点击右边的小球即可!(^__^) 嘻嘻……) 作者:北京-宏哥      出处:https://www.cnblogs.com/du-hong/      本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。(尊重别人就是尊重自己,尊重笔者的劳动哦,转载请说明出处哦,商用请征得作者本人同意,谢谢!!!)https://www.cnblogs.com/du-hong/p/11496041.html