Appium+python自动化(三十八) – Appium自动化测试框架综合实践 – 框架简介-助你冲击高薪,迎娶白富美(超详解)

  • 2019 年 10 月 3 日
  • 筆記

简介

好久没有更新博客了,博友们是不是有点等不及了。不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的。从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从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,可以加宏哥的微信拉你进群,请备注:进群)          

                                                                 

您的肯定就是我进步的动力。如果你感觉还不错,就请鼓励一下吧!记得点波 推荐 哦!!!(点击右边的小球即可!(^__^) 嘻嘻……)