首先说说为什么想起来用自动化脚本来实现该项目的自动化. 工作还是以手工测试为主,业务驱动型的项目大概就是这样,业务不停地变,不断的迭代. 自动化测试实施的先决条件: 一 得有时间. 如果有时间大部分的项目都可以实现自动化,这是毋庸置疑 的.不过一般公司的手工测试岗位测试任务之繁重做过的同学应该有体会.我自己负责五个产品线的迭代版本,不得一刻空闲,几乎每天都埋在业务测试中. 二 得有必要. 成本与效率之间很多时候在我所经历的项目中会倾向于手工测试,可以说是严重倾向于手工测试. 大部分迭代版本手工测…
该部分记录如何获取预期结果-接口响应数据,分成两步: 1 获取数据源接口数据 2 提取后续页面对比中要用到的数据 并且为了便于后续调用,将接口相关的都封装到ProjectApi类中. 新建python包:apiclass > 新建python file:api_fund.所有接口相关的操作均放到该文件中.隐去项目相关信息后的代码如下: 1 获取数据源接口数据 # coding:utf-8 import requests from common.round_rewrite import round…
该部分记录测试页面2-StrategyPage,所有页面2上的元素定位.操作.获取属性等方法都写在该类中. 1 页面2继承自BasePage: 2 页面2第一部分写的是所有的定位器 3 页面2第二部分类的方法,包括提取页面元素,页面元素的操作.获取属性.验证元素属性正确性等 4 当用例中需要用到该页面的某元素或操作时,补充方法到该类中,再在用例中调用 5 页面数据最后要与接口对比,需要将接口类和页面类返回的值数据类型等进行统一,方便用例的编写. #coding:utf-8 ""&quo…
脚本思路: 使用pageobject模式,写一个basepage基类,所有页面的通用方法封装到基类中.比如打开页面,关闭页面,等待时间,鼠标移到元素上,获取单个元素,获取一组元素,获取元素的子元素,截图等等. 项目中的测试页面page1和page2都继承自basepage基类.可使用基类定义的方法.基类里会将webdriver和page合二为一,既将webdriver的操作改写成page的方法. 新建一个包pageclass > 分别新建basepage.page1.page2三个python文…
添加配置文件写入测试地址等,当环境切换时只需修改配置文件即可. 1 在项目目录下添加文件 config.ini 写入: [Domain] domain = http://test.domain.cn 2 项目目录下添加python文件 read_config.py 写入: #coding:utf-8 """ 读取同一目录下的配置文件 """ import configparser import os class EnvConfig: dir =…
使用python自带的unittest测试框架,用例继承自unittest.TestCase类. 1 引入接口类和页面类 2 setUp函数中打开页面,定义接口对象 3 tearDown函数中关闭页面 4 test打头的函数都是用例.因页面和接口的相关方法都已封装好,所以用例会比较简洁. 5 当一个用例需根据参数不同执行多次时,可使用ddt数据驱动,或unittest自带的subTest. # coding:utf-8 """ 页面2的测试用例 ""&qu…
使用python自带的unittest测试框架,用例继承自unittest.TestCase类. 1 引入接口类和页面类 2 setUp函数中打开页面,定义接口对象 3 tearDown函数中关闭页面 4 test打头的函数都是用例,预期结果和实际结果对比使用unittest自带的断言.因页面和接口的相关方法都已封装好,所以用例会比较简洁. 5 当一个用例需根据参数不同执行多次时,可使用ddt数据驱动,或unittest自带的subTest. 6 注意test05_click_btn(). 点击…
该部分记录测试页面1-IndexPage,所有首页上的元素定位.操作.获取属性等方法都写在该类中. 1 首页类继承自BasePage 2 首页类第一部分写的是所有的定位器 3 首页类第二部分类的方法,包括提取页面元素,页面元素的操作.获取属性.验证元素属性正确性等 4 当用例中需要用到该页面的某元素或操作时,补充方法到该类中,再在用例中调用 5 函数名:open打头的表示 打开页面,get_表示获取页面元素或属性,check_表示验证页面数据是否一致,choose_表示元素选择,click_点击…
测试需求: 项目包含两个数据展示页面,数据均来自于四个数据源接口. 测试操作步骤: 选择5个大类型中的一个,每个大类型下有3个子类型,选择任一子类型,页面数据更新.需验证页面上的数据与数据源接口数据一致. 自动化必要性: 1 更新频率:接口数据每天更新 2 数据量:单个子类型页面的数据量较大 ,且需全量覆盖15个子类型的数据验证 测试思路:分别获取页面和接口数据,对比是否一致 dinghanhua 2019-01 一 获取接口数据 [预期结果] --requests --发送请求,获取响应 --…
使用简单的unittest.TextTestRunner. 思路: 1 在report目录下创建当日测试报告目录 20190113 2 创建测试报告文件 f = 时间戳.txt 3 加载测试集,运行测试,测试结果unittest.TextTestRunner(stream=f)保存到文件中 项目目录下新建run_test.py文件,写入代码: # coding:utf-8 import unittest from testcase import testcase_index,testcase_s…