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存放…
一.项目需求 测试/生产环境更新后,自动化回归测试 项目易于维护和运行 支持多种测试策略 支持可视化测试报告 运行结果,支持多种方式通知相关人员 可定时/触发的方式运行自动化测试用例 二.设计 2.1 需要的技能 Python基础(面向对象) 熟悉Python引包机制 了解Html,Css,异步请求 熟练使用Selenium API(最好有读过源码) 熟练使用Python Uittest/Pytest 测试框架 了解PO设计模式 2.2 项目目录划分 ├── config │   └── __i…
一.邮件通知 使用第三方邮件发送库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@…
1.数据驱动概述 相同的测试脚本使用不同的测试数据来执行,测试数据和测试行为完全分离,这样的测试脚本设计模式称为数据驱动.简单的理解为数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变.通过使用数据驱动测试的方法,可以在需要验证多组数据测试场景中,使用外部数据源实现对输入输出与期望值的参数化,避免在测试中使用硬编码的数据.这种方法对于测试步骤相同而使用不同的输入值和期望值的测试场景尤为重要 实施数据驱动测试步骤如下: (1)编写测试脚本,脚本需要支持从程序对象.文件或数据库读入测试数据(…
对于于一般的传统的自动化测试工具,如:Selenium,robotFramework,QTP等.QTP可以通过操作录制生成自动化用例脚本.生成的脚本与Selenium.robotFramework类似,都是类方法的调用以及各种方法的参数的传递.对于一个学习者来说没有2-3年的工作经验,很验难熟练撑握.而且不同的人写的自动化用例风格不一样,维护起来非常困难,要求测试人员必须撑握一门计算机语言,如:VB.python等.如下所示,是使用robotFramework编辑器基于SeleniumLibra…
使用selenium框架还可以进行分布式测试,操作如下: 准备俩台PC:A和B,ip分别为IP_A和IP_B 下载最新的selenium-standalone的jar包,可以到下面地址下载各版本的包: http://selenium-release.storage.googleapis.com/index.html 下载完成后,分别放到PCA和PCB中,然后以PCA作为HUB,PCA和PCB作为node启动服务: PCA的命令行中先后分别执行: java -jar selenium-server…
一.模块驱动测试实例 把登录和退出统一封装在login类中,若把login类单独放在一个文件中,就可以给任一测试脚本调用,这里就跟测试脚本放一起 from selenium import webdriver class login(): #登录 def user_login(self,driver): user = dr.find_element_by_id('idInput').clear() user.send_keys('username') pwd = dr.find_element_b…
一.日志作用 调试程序 了解系统程序运行的情况,是否正常 系统程序运行故障分析与问题定位 用来做用户行为分析和数据统计 二.为项目添加日志 └── 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:…