Web自动化测试项目搭建(一) 需求与设计 Web自动化测试项目(二)BasePage实现 Web自动化测试项目(三)用例的组织与运行 Web自动化测试项目(四)测试报告 Web自动化测试项目(五)测试结果通知 Web自动化测试项目(六)多环境执行 Web自动化测试项目(七)日志 未完待续…
测试报告生成 使用HTMLTestRunner 生成测试报告 本文使用的 HTMLTestRunner 来源于github: https://github.com/githublitao/HTMLTestRunner_Chart 参考链接: http://tungwaiyip.info/software/HTMLTestRunner.html https://github.com/GoverSky/HTMLTestRunner_cn 把下载下来的HTMLTestRunner_Chart.py存放…
一.Unittest用例组织 在test_case目录下创建test*.py,组织测试用例 ├── test_case │   ├── __init__.py │   └── test_login.py test_login.py import unittest from pages.login_page import LoginPageAction from utils.constants import LOGIN_URL class TestLoginCase(unittest.TestCa…
po模型设计思想 Page Object 模式主要是将每个页面设计为一个class,其中包含页面中的需要测试的元素(按钮,输入框,标题等),这样在Selenium测试页面中可以通过调取页面类来获取页面元素,这样避免当页面元素id或者位置变化后,需要改测试代码.当元素ID变化时,只需要改测试页面Class中的页面属性即可.将页面定位与和业务分开,分离测试对象(元素对象)和测试脚本(用例脚本),提高可维护性. Page Object模式是一种自动化测试设计模式,将页面定位和业务操作分开,分离测试对象…
一.BasePage介绍 创建一个BasePage类,对Selenium Api进行二次封装 为了快速创建项目并投产,用到的Selenium Api才进行封装,没用到的则不封装 优先封装最重要的几个方法: 初始化webdriver 元素定位(不封装元素操作方法,例如send_keys) 浏览器加载页面 二.Selenium Api 二次封装 ├── pages │   ├── __init__.py │   └── base_page.py └── utils └── __init__.py b…
一.邮件通知 使用第三方邮件发送库yagmail github地址:https://github.com/kootenpv/yagmail 安装 pip3 install yagmail demo.py import yagmail # password为登陆密码或者授权码,yagmail SSL默认开启 yag = yagmail.SMTP(user='xxxxxx@163.com', password='xxxxxxx', host='smtp.163.com') to = 'xxxxxx@…
一.日志作用 调试程序 了解系统程序运行的情况,是否正常 系统程序运行故障分析与问题定位 用来做用户行为分析和数据统计 二.为项目添加日志 └── utils ├── log_utils.py └── se_utils.py log_utils.py import logging.handlers import time class GetLogger(): logger = None @classmethod def get_logger(cls): if cls.logger == None…
需求 使用命令行运行脚本,可以指定测试/预发布/生产环境的url,如果找不到该环境变量则默认为测试环境 python3 xxxxxx.py test 修改constants.py # DOMAIN = 'https://www.tapd.cn/' LOGIN_URL = '/cloud_logins/login' TIMEOUT = 5 POLL_FREQUENCY = 0.5 DOMAIN = { 'test':'https://www.tapd.cn/', 'product':'https:…
一.项目需求 测试/生产环境更新后,自动化回归测试 项目易于维护和运行 支持多种测试策略 支持可视化测试报告 运行结果,支持多种方式通知相关人员 可定时/触发的方式运行自动化测试用例 二.设计 2.1 需要的技能 Python基础(面向对象) 熟悉Python引包机制 了解Html,Css,异步请求 熟练使用Selenium API(最好有读过源码) 熟练使用Python Uittest/Pytest 测试框架 了解PO设计模式 2.2 项目目录划分 ├── config │   └── __i…
在使用web自动化测试中,用例失败则自动截图的网上也有,但实际能落地的却没看到,现总结在在实际应用中失败截图的几种方法: 一.使用unittest框架截图方法:   1.在tearDown中写入截图的功能,如下: import sysclass SeleniumTest(unittest2.TestCase): ... def tearDown(self): if sys.exc_info()[0]: test_method_name = self._testMethodName self.dr…