05 2022 档案
摘要:HTML知识铺垫 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>测试人论坛</title> </head> <body> <a href="https://ceshiren.com/" class="link">链接</a>
阅读全文
摘要:浏览器控制 模拟功能测试中对浏览器的操作 操作 使用场景 get 打开浏览器 web自动化测试第一步 refresh 浏览器刷新 模拟浏览器刷新 back 浏览器退回 模拟退回步骤 maximize_window 最大化浏览器 模拟浏览器最大化 minimize_window 最小化浏览器 模拟浏览
阅读全文
摘要:标准的用例结构 用例标题 前提条件 用例步骤 预期结果 实际结果 用例标题 类型 前提条件 用例步骤 预期结果 实际结果 搜狗搜索功能 正例 进入搜狗首页 1. 输入搜索关键词2.按下回车键 1. 搜索成功2. 搜索结果列表包含关键字 用例结构对比 自动化测试用例 作用 用例标题 测试包、文件、类、
阅读全文
摘要:SeleniumIDE的下载以及安装 官网:https://www.selenium.dev/ Chrome插件:https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd Firef
阅读全文
摘要:面试题精选: https://blog.51cto.com/u_15069482/2938670
阅读全文
摘要:插件分类 插件分三种: 1.外部插件(三方开发的) 安装方式:pip install 哪里可以找到三方插件: https://pypi.org/ 常用插件: pytest-ordering 作用:指定执行顺序 使用:(fixture用法类似)@pytest.mark.run(order=1) * 尽
阅读全文
摘要:总结 pytest.ini 修改用例的命名规则 配置日志格式,比代码配置更方便 指定执行目录 排除搜索目录 添加标签,防止运行过程报警告错误 添加默认参数 注意:windows下要去掉所有的中文,不然会出现编码问题 报错:UnicodeDecodeError: ‘gbk‘ codec can‘t d
阅读全文
摘要:模拟setup,teardown(一个用例可以引用多个fixture)fixture和yield基础使用 yield 的用法 fixture和yield基础使用 作用域( session,module, 类级别,方法级别 )fixture和yield基础使用 自动执行 (autouse 参数)fix
阅读全文
摘要:Fixture 在自动化中的应用 -参数化 场景: 测试离不开数据,为了数据灵活,⼀般数据都是通过参数传的 解决: fixture 通过固定参数 request 传递 步骤: 在 fixture 中增加@pytest.fixture(params=[1, 2, 3, ‘linda’]) 在⽅法参数写
阅读全文
摘要:Fixture 在自动化中的应用 - 自动应用 场景: 不想原测试⽅法有任何改动,或全部都⾃动实现⾃动应⽤, 没特例,也都不需要返回值时可以选择⾃动应⽤ 解决: 使⽤ fixture 中参数 autouse=True 实现 步骤: 在⽅法上⾯加 @pytest.fixture(autouse=Tru
阅读全文
摘要:使用fixture和conftest文件可以让数据共享 Fixture 在自动化中的应用 - 数据共享 场景: 你与其他测试⼯程师合作⼀起开发时,公共的模块要在不同⽂件中,要在⼤家都访问到的地⽅。 解决: 使⽤ conftest.py 这个⽂件进⾏数据共享,并且他可以放在不同位置起着不同的范围共享作
阅读全文
摘要:fixture 使用介绍: @pytest.fixture() #加fixture装饰器,可以让这个方法后面被调用 def login(): print("\nlogin.....\n") def test_search(): print("search") def test_order(login
阅读全文
摘要:生成测试报告流程 使用 Allure2 生成精美报告 这两个方法都开启了tomcat服务,随着服务关闭就会关闭。如果需要一个长时间的存在,就需要部署服务器,后续可以和Jenkins一起用。 命令格式:allure [option] [command] [command options] 在测试执行期
阅读全文
摘要:加文本 allure.attach("这是一段文本信息",name="文本显示") 加截图 @allure.feature("搜索模块") class TestSearch(): @allure.story("搜索成功") @allure.title("搜索用例1") def test_case_1
阅读全文
摘要:学习网站: https://docs.qameta.io/allure/#_pytest Feature & Story & step &Title的用法: 运行: pytest test_demo.py --alluredir ./result //py文件为运行文件 result为放报告的地址
阅读全文
摘要:案例: 从json文件中取值判断是否第一二行的值之和等于第三行的值 1.创建对应目录,准备好对应json文件 2.创建operation.py def my_add(x,y): result = x + y return result 3.创建test_add.py 关键代码:get_json()
阅读全文
摘要:案例: 从csv文件中取值判断是否第一二行的值之和等于第三行的值 1.创建对应目录,准备好对应csv文件 2.创建operation.py def my_add(x,y): result = x + y return result 3.创建test_add.py 关键代码:get_csv() imp
阅读全文
摘要:官方文档https://openpyxl.readthedocs.io/en/stable/ 案例: 从excel文件中取值判断是否第一二行的值之和等于第三行的值 1.创建对应目录,准备好对应excel文件 2.创建operation.py def my_add(x,y): result = x +
阅读全文
摘要:1.创建yaml文件:xxx.yml (key-value格式) 2.使用yaml 库safe_load方法取出yaml数据 * yaml文件需加 - 来标识为字典,不然取出时就只会取出keys 实例: 1.创建yml文件env.yml - test: 127.0.0.1 2.创建一个判断环境的函数
阅读全文
摘要:具体内容需要二次学习,课程里面只提及两种处理方式。 try except例子: try: a = int(input()) b = int(input()) c = a/bexcept ZeroDivisionError as e: print("cannot be zero")
阅读全文
摘要:面试岗位:app测试工程师 公司:autoX 一面挂: 日常问题 数据库: 从课程表取5-10行数据 select * from kechengbiao limit 4,6 linux:常用命令 接口测试怎么做 postman怎么用命令跑 介绍下浏览器输入url后的过程 面试岗位:供应链测试工程师
阅读全文
摘要:使用main函数(此方法对后续做持续集成有用): 1.创建main函数 2.判断运行范围是多大,再根据需要运行哪些用例来写代码 3.使用命令行 python xxx.py来执行 举例: if __name__ == '__main__': #运行当前目录下所有的用例 pytest.main() #执
阅读全文
摘要:D:\Project\WebDemo>pytest --lf test_demo.py
阅读全文
摘要:例子: @pytest.mark.skip 跳过该case @pytest.mark.skip(reason="代码无实现") @pytest.mark.add def test_add_02(): assert (2+2) == 3 @pytest.mark.skipif 如果满足sys.plat
阅读全文
摘要:场景 只执行符合要求的某一部分用例,可以把项目划分为多个模块,然后制定模块名执行 用法 在测试用例方法上加@pytest.mark.标签名 执行 -m 执行自定义标记的相关用例 import pytest @pytest.mark.add def test_add_01(): assert (1+1
阅读全文
摘要:参数化函数使用 使用装饰器 @pytest.mark.parametrize(参数,值) 单参数 只传一个参数 search_list = ['appinum','pytest'] @pytest.mark.parametrize('name',search_list) def test_demo(
阅读全文
摘要:实例: def test_answer(): assert inc(4) == 5,"error"def test_str(): assert "abc" in "abcdd"def test_sys(): assert 'linux' in sys.platform,"no linux!"
阅读全文
摘要:pycharm 配置与界面化运行 安装pytest 界面安装(Windows) Settings-->python interpreter-->+ pip 配置默认测试执行器为pytest Settings-->Tools-->Python Intergrated Tools 选择Defaul te
阅读全文
摘要:Pytest 是什么? pytest 能够支持简单的单元测试和复杂的功能测试; pytest 可以结合 Requests 实现接口测试; 结合 Selenium、Appium 实现自动化功能测试; 使用 pytest 结合 Allure 集成到 Jenkins 中可以实现持续集成。 pytest 支
阅读全文
摘要:标准的用例结构 用例标题 前提条件 用例步骤 预期结果 实际结果 用例标题 类型 前提条件 用例步骤 预期结果 实际结果 搜狗搜索功能 正例 进入搜狗首页 1. 输入搜索关键词2.按下回车键 1. 搜索成功2. 搜索结果列表包含关键字 用例结构对比 自动化测试用例 作用 用例标题 测试包、文件、类、
阅读全文
摘要:目录 Selenium的简介 Selenium的安装 Driver的配置(Mac与Windows) Selenium的简介 官方网站 https://www.selenium.dev/ 简介 用于web浏览器测试的工具 支持的浏览器包括IE,Firefox,Safari,Chrome,Edge等 使
阅读全文
摘要:什么时候可以做UI自动化测试 业务流程不频繁改动 UI 元素不频繁改动 需要频繁回归的场景 核心场景等 Web自动化测试相关技术 Selenium:支持多语言,行业内最火最主流 Pytest/JUnit5:最好用最全面的单元测试框架 Allure:测试报告 Web自动化测试在企业中的实践 有赞: h
阅读全文
摘要:函数引用 函数可以被引用 函数可以被赋值给一个变量 def hogwarts(): print("hogwarts") harry = hogwarts harry() 闭包函数 闭包的内部函数中,对外部作用域的变量进行引用 闭包无法修改外部函数的局部变量 闭包可以保存当前的运行环境 def out
阅读全文
摘要:urllib3 概述 线程安全 连接池管理 客户端 SSL/TLS 验证 支持 HTTP 和 SOCKS 代理 官方文档:https://urllib3.readthedocs.io/en/stable/ urllib3 安装 通过 pip 安装 pip install urllib3 urllib
阅读全文
摘要:pymysql 概述 Python 的数据库接口标准是 Python DB-API PyMySQL 是从 Python 连接到 MySQL 数据库服务器的接口 PyMySQL 的目标是成为 MySQLdb 的替代品 官方文档:http://pymysql.readthedocs.io/ pymysq
阅读全文
摘要:YAML 一种数据序列化格式 用于人类的可读性和与脚本语言的交互 一种被认为可以超越 XML、JSON 的配置文件 YAML 基本语法规则 大小写敏感 使用缩进表示层级关系 缩进时不允许使用 Tab 键,只允许使用空格 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 # 表示注释,从这个字符一
阅读全文
摘要:venv 虚拟环境 虚拟环境是什么:独立的python环境 虚拟环境的用途:更好做环境管理 venv & virtualenv:python2无venv venv 虚拟环境的优点 独立的 Python 环境,不会产生冲突 有助于包的管理 删除和卸载方便 venv 使用方法 创建虚拟环境 激活虚拟环境
阅读全文
摘要:pip 概述 pip 是 Python 包管理工具 python2 的 2.7.9 版本开始自带 python3 的 3.4 版本开始自带 https://pypi.org/ 托管了大量流行的 Python 包 pip 常用命令 功能 指令 查看 pip 版本 pip -V 查看帮助文档 pip h
阅读全文
摘要:python日志进阶 学习网站:https://docs.python.org/3/howto/logging.html 组件 说明 loggers 提供应用程序代码直接使用的接口 handlers 用于将日志记录发送到指定的目的位置 filters 提供更细粒度的日志过滤功能,用于决定哪些日志记录
阅读全文