python_自动化测试用例参数化】的更多相关文章

参数化有三种,代码驱动,数据驱动,关键字驱动 代码驱动,测试数据写在代码中 如下: import requests,json import unittest import BeautifulReport fido_url = 'http://192.168.6.162:8080/uaf/reg/receive' '''代码驱动,代码实现做参数化的例子''' reg_receive_data1 = { "context": { ", ", "userName…
前言:pytest.mark.parametrize装饰器可以实现测试用例参数化. parametrizing 1.  下面是一个简单是实例,检查一定的输入和期望输出测试功能的典型例子 2.  标记单个测试实例为失败,例如使用内置的mark.xfail,则跳过该用例不执行直接显示xfailed 3.  若要获得多个参数化参数的所有组合,可以堆叠参数化装饰器 运行结果来看,参数为x=0/y=2; x=1/y=2; x=2/y=3; x=1/y=3…
1. 前言 手工测试用例是针对手工测试人员,自动化测试用例是针对自动化测试框架,前者是手工测试用例人员应用手工方式进行用例解析,后者是应用脚本技术进行用例解析,两者最大的各自特点在于,前者具有较好的异常处理能力,而且能够基于测试用例,制造各种不同的逻辑判断,而且人工测试步步跟踪,能够细致的定位问题.而后者是完全按照测试用例的方式测试,而且异常处理能力不强,往往一个自动化测试用例运行完毕后,报一堆错误,对于测试人员来定位错误是一个难点,这样往往发现的问题很少. 下面介绍手工测试用例与自动化测试用例…
自动化测试用例,如果一百个接口要在Excel写100个sheet表单,每个接口有10个字段,里面有5个都可能是变化的,需要使用参数化,先试用特定的字符进行站位,在构造参数时在进行替换占位符: 一.用力中手机号的替换,以字符串中的方法,使用 replace (译:瑞破类似) 进行替换 # 原始字符串:{"mobilephone": "${not_existed_tel}", "pwd":"123456"} # json 字符串…
package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import…
import unittest import webdriver import time class Test(unittest.TestCase): @classmethod def setUpClass(self): cap = {} cap['platformName'] = 'Android' cap['platformVersion'] = '4.4.2' cap['deviceName'] = '7N2SSE158P001892' cap['noReset'] = 'noReset'…
接口文档已经提供了,requests库.unittest单元测试框架也已经介绍过,笔者相信读者朋友已经可以独立编写接口自动化测试用例了.但是有一些细节,我们需要聊一下.比如我们写登录接口测试用例,用户名为空.密码为空.用户名错误.密码错误.用户名密码都正确,假设我们只编写这几条测试用例,我们一般的做法如下代码所示: # -*- coding: utf-8 -*- import requests import unittest from nose_parameterized import para…
一. 自动化测试的投入有哪些? 1. 自动化测试的软件平台投入 自动化测试平台的开发时间,实施时间. 2.  自动化测试的框架开发投入+框架维护的投入 开发自动化测试脚本使用的框架,例如通过一些现有框架完成的测试基础,但是在现有的框架基础上,也需要提供测试投入,开发Excel的读写,PDF的读写,根据业务用例的情况开发一些定制化的框架. 3.  自动化测试的测试用例整理(功能测试用例)的投入 测试用例的整理要注意一些细节,例如 测试用例号或测试用例名,能唯一定位到该条测试用例的信息. 手工测试时…
前言 paramunittest是unittest实现参数化的一个专门的模块,可以传入多组参数,自动生成多个用例 前面讲数据驱动的时候,用ddt可以解决多组数据传入,自动生成多个测试用例.本篇继续介绍另外一个参数化的框架paramunittest,也能实现一样的效果. 环境准备 1.先pip 下载安装 paramunittest pip install paramunittest 官方文档 1.官方文档地址:https://pypi.python.org/pypi/ParamUnittest/…
在数据量大的时候,需要使用文件参数化. excel文件是其中一种. 安装xlrd读取excel文件.(这里是在pycharm安装) 发现选择豆瓣安装失败,阿里云安装成功. 准备excel文件,放在test_data目录下 字典数据 在common目录下定义函数 import xlrd def get_excel_row(row): #row为第几行 excel=xlrd.open_workbook('../test_data/usermessage.xlsx') #使用相对路径,不要使用绝对路径…
1.一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器. 2.一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统 3.尽量只做功能中正向逻辑的验证,不要考虑太多逆向逻辑的验证,逆向逻辑的情况很多(例如手机号输错有很多种情况) ,验证一方面比较复杂,需要编写大量的脚本,另一方面自动化脚本本身比较脆弱,很多非正常的逻辑的验证能力不强. (我们尽量遵循用户正常使用原则编写脚本即可) 4.脚本之间不要产生关联性,也就是说编写的每一个脚本都是独立的,不能依赖…
1.前言 WEB自动化测试时候测试哪些类型,下面将介绍一下: 2. 测试类型 2.1 测试静态内容 静态内容测试是最简单的测试,用于验证静态的.不变化的UI 元素的存在性.例如: 每个页面都有其预期的页面标题?这可以用来验证链接指向一个预期的页面: 应用程序的主页包含一个应该在页面顶部的图片吗? 网站的每一个页面是否都包含一个页脚区域来显示公司的联系方式,隐私政策,以及商标信息? 每一页的标题文本都使用的<h1>标签吗?每个页面有正确的头部文本内吗? 您可能需要或也可能不需要对页面内容进行自动…
前言 前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片. 这样每次调用的时候,在命令行里面加一个文件路径的参数就行. 一.命令行参数 1.参数化传入的参数,可以通过autoit的命令行参数: myProg.exe param1 "This is a string parameter" 99 在脚本中,可用以下变量获取命令行参数: $CmdLine[0] ; = 3 $CmdLine[1] ; = param1 $Cmd…
注:原文地址 UI映射 一个UI映射是一种机制,它存储所有的定位器的测试套件在一个地方,方便修改UI元素的路径标识符或改变在AUT.测试脚本,然后使用UI地图定位以被测试的元件.基本上,UI地图是一个存储库的测试脚本对象,对应于被测试的应用程序的UI元素. 是什么让一个UI地图有帮助吗?其主要目的是测试脚本的管理更加容易.当定位需要编辑,有一个中央位置轻松地找到对象,而不是通过搜索测试脚本代码.此外,它允许改变的标识符在一个地方,而不是在多个地方,以使更改在测试脚本,或为此事,在多个测试脚本.…
自动化测试设计简介  注:参看文章地址 我们在本章提供的信息,对自动化测试领域的新人和经验丰富的老手都是有用的.本篇中描述最常见的自动化测试类型, 还描述了可以增强您的自动化测试套件可维护性和扩展性的“设计模式”.还没有使用这些技术的.有经验的自动化测试工程师会对这些技术更加感兴趣. 测试类型 您应该测试应用程序中的哪些部分?这取决于您的项目的各种影响因素:用户的期望,时间期限,项目经理设置的优先事项等等.但是,一旦项目边界定义完成,作为测试工程师,你必须做出要测试什么的决定. 为了对Web应用…
转至博客:上海-悠悠 前言前一篇autoit实现文件上传打包成.exe可执行文件后,每次只能传固定的那个图片,我们实际测试时候希望传不同的图片.这样每次调用的时候,在命令行里面加一个文件路径的参数就行. 一.命令行参数 1.参数化传入的参数,可以通过autoit的命令行参数: ```    myProg.exe param1 “This is a string parameter” 99``` 在脚本中,可用以下变量获取命令行参数: ```$CmdLine[0] ; = 3$CmdLine[1]…
1.一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器.2.一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统3.尽量只做功能中正向逻辑的验证,不要考虑太多逆向逻辑的验证,逆向逻辑的情况很多(例如手号输错有很多种情况) ,验证一方面比较复杂,需要编写大量的脚本,另一方面自动化脚本本身比较脆弱,很多非正常的逻辑的验证能力不强. (我们尽量遵循用户正常使用原则编写脚本即可)4.脚本之间不要产生关联性,也就是说编写的每一个脚本都是独立的,不能依赖或影响其…
rspec是一款行为驱动开发(BDD)的工具,不过在这里用于测试,准确来说应该是测试驱动开发(TDD)吧.事实上我也没搞清楚.作为初学者不清楚就不清楚吧,以后会知道的.写博客无非就是写写学习笔记,不纠结了. 一.安装rspec 在安装好gem的基础上直接使用以下命令就可以安装了 gem install rspec 安装好之后可以检查一下安装是否成功,出现版本号则安装成功 rspec -v 二.使用rspec的知识准备 describe:定义用例组(test cases) it:定义用例(exam…
数据库参数化的场景 部分接口,参数其他方式获取不到,可以去数据库去获取,如手机验证码 安装pymysql 配置文件 def sql_conf(): # 定义数据库的配置 host='127.0.0.1' user='root' password='123456' database='employees' port=3306 charset='utf8' return host,user,password,database,port,charset 定义get_mysql方法 import pym…
1.运行测试工程下的所有用例 adb shell am instrument -w com.application.test/android.test.InstrumentationTestRunner // 测试包名/mainfest下的instrumentation name属性 2.运行指定的单个测试类或某个TestSuite 运行测试类com.application.test.Login adb shell am instrument -e class com.application.t…
问题描述 页面上一个元素无法获取它的值. 用getText() 获取该元素的值返回null或空. 根本原因 ? 需要更多了解dom结构 解决办法 用getAttribute("value")的方法,就可以获取到这个元素value的值.…
测试环境搭建好之后就可以写自动化测试脚本了,我们以baidu为例,写一个自动化测试脚本 from selenium import webdriver import time driver = webdriver.Firefox() driver.implicitly_wait(30) url = 'http://www.baidu.com' driver.get(url) driver.find_element_by_id("kw").clear() driver.find_eleme…
http://blog.sina.com.cn/s/blog_53f023270101sc3w.html http://www.cnblogs.com/2test/p/5336842.html…
import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.Test; import org.openqa.selenium.Point; impo…
1.QA 的内部逻辑关系. 首先用一个图表示一下QA的内部的逻辑关系. 2.QA的脚本介绍 3.QA脚本运行…
读EXCEL: import xlrd 例1, data=xlrd.open("E:\egg.xls")     # 打开xls文件 table=data.sheets()[0]             # 打开第一张表 nrows=table.nrows                   # 获取表的行数 for i in range(nrows) print table.row_values(i)[:7]       # 取前7行的值 例2: import xlrd #打开一个w…
1.一次自动化测试学习中,expect异常中包含“raise e”,这是什么意思呢? 2.网上查了一下,大概意思是:若有异常,不会执行一下的操作,但是明明是语句后确实没有其他语句呀. 3.注释掉之后,执行用例后报告显示,原本断言中判断出错误的用例,竟然执行通过了! 4.所以"raise"可以理解为抛出异常到结果中.去掉注释之后的结果:…
1. 生成磁盘使用情况的日志文件 #!/usr/bin/env python#!coding=utf-8​import timeimport os​new_time = time.strftime('%Y-%m-%d')disk_status = os.popen('df -h').readlines()str1 = ''.join(disk_status)f = file(new_time+'.log','w')f.write('%s' % str1)f.flush()f.close()​​…
用到的工具:python3 + django2 + mysql + RabbitMQ + celery + selenium python3和selenium这个网上很多教程,我不在这一一说明:   平台功能介绍:  项目管理:用于管理项目.每个项目可以设置多个环境,例如开发环境,测试环境,预发布环境,生产环境等. 页面管理:主要用来方便对元素进行管理 1.环境搭建 源码和工具下载地址: 链接:https://pan.baidu.com/s/1h_JAKj0Yxyem2pyjWRclxQ 提取码…
第一部分:自动化一个测试用例 当你要开始自动化一个测试用例的时候,有一些重要的事情需要完成.当你完成所有这些事情的时候,测试脚本的自动化也随之完成. 在这里,我们将首先在大部分的自动化测试用例里找出所有通用的任务. 让我们用一个例子(GmailLogin)来理解前面所说的内容 为了自动化Gmail Login,你需要写一些代码来做以下的事情: 打开Gmail Url 输入正确的用户名和密码 点击登录按钮 通过下面的图让我们更加详细的理解这一点: 任务1 - 识别对象 在你对任何对象做操作之前,你…