随笔分类 - WEB自动化
selenium
摘要:1、最简单的 [表达式 for 变量 in 列表] [out_exp_res for out_exp in input_list]【结果(循环)条件】 >>> names = ['Bob','Tom','alice','Jerry','Wendy','Smith'] >>> new_names =
阅读全文
摘要:通过Conftest.py+fixture+yield,可轻松实现⽤例前置后置,包括项⽬级的 项目目录下创建conftest.py文件: #coding=gbk import pytest @pytest.fixture() def fix1(): print("\n开始执⾏fix1") yield
阅读全文
摘要:conftest.py是pytest特有的本地测试配置⽂件,既可以⽤来设置项⽬级的Fixture,也可以⽤来导⼊外部插件,还可以⽤来指定Hook函数(钩⼦函数) conftest.py⽂件名称是固定,pytest会⾃动识别该⽂件,只作⽤于它所在的⽬录及⼦⽬录。 conftest.py和pytest.
阅读全文
摘要:Pytest之Fixture介绍 官⽅原话: https://docs.pytest.org/en/latest/explanation/fixtures.html#about-fixtures pytest fixtures被设计为明确的、模块化的以及可扩展的 什么是fixtures 在测试中,f
阅读全文
摘要:pytest 安装 a)安装 pip install pytest b)验证安装 pytest --version 1、pytest的⽤例运⾏规则 1)pytest将在当前⽬录及其⼦⽬录中运⾏所有格式为test_.py或者_test.py⽂件 2)测试⽅法/测试函数 默认必须是test开头 3) 测
阅读全文
摘要:这里简单说下怎么连接数据库查询数据 mysql: 1、先创建个文件,框架的话用关键字函数 文件,keyword文件,封装连接数据库的函数 2、创建测试用例
阅读全文
摘要:要在多台计算机上并⾏运⾏测试吗? 那么, Grid正是为你准备的。 分布式测试Grid环境: 1.需要JDK支持,最新的版本需要11版本,老版本的1.8也可以selenium server jar包下载地址:https://github.com/SeleniumHQ/selenium/release
阅读全文
摘要:如果想把LOG内容输出到Allure报告,步骤如下: 1、创建pytest.ini文件,设置规则 2、创建conftest文件,设置driver和日志封装及截图 # 浏览器驱动 import logging import allure import pytest from selenium impo
阅读全文
摘要:可以通过优化把Allure的报告生成具有流程化的样子,如下 1、 创建文件,放封装的一些流程的函数 2、创建测试用例文件,用例中设置前置步骤,所有操作要先登录,然后用with allure.step写步骤: import allure import pytest from Allure_Tec.p0
阅读全文
摘要:生成了Allure报告,可以自定义一些属性,使报告看起来层级更明显,看起来更清晰。下图显示有些优化的选项 创建测试用例: import allure # import logging # logging.basicConfig(level=logging.INFO) @allure.epic("测试
阅读全文
摘要:Allure报告中 支持使用钩子函数进行失败截图 使用pytest_runtest_makereport钩子函数实现allure报告添加用例失败截图(函数名固定的) Hook函数又称为钩子函数,它的作用可以理解成钩住自己喜欢的东西(在window中,喜欢的东西可理解为消息),然后对自己喜欢的东西单独
阅读全文
摘要:WEB自动化测试可以借助Allure生成美观的测试报告。 1、安装工具及配置环境变量 1.安装JDK1.8 才可运行allure,直接百度,一大堆 2.下载Allure的安装包(版本号:2.13.5) https://repo.maven.apache.org/maven2/io/qameta/al
阅读全文
摘要:层级结构大概如图: 1、浏览器的初始化和关闭 创建conftest文件,如下,用pytest的装饰器,创建方法,定义driver 2、创建keyword目录,创建keyword文件,封装一些操作的方法,如打开浏览器、元素定位+显示等待、键盘操作、鼠标操作、frame切换等方法 from seleni
阅读全文
摘要:因为实际工作中,有可能UI会进行变动,元素也会变动,此时需要把元素单独分离出来,方便修改 PO(page object)设计模式是在自动化中已经流行起来的一种易于维护和减少代码的设计模式. 在自动化测试中, PO对象作为一个与页面交互的接口.测试中需要与页面的UI进行交互时, 便调用PO的方法. 这
阅读全文
摘要:所谓的关键字驱动,本质就是函数封装的过程。 ⾃动化当中的封装⽬的是:拆分重复的⾏为代码和测试数据,增加可维护性和复⽤性 对于某些用例都需要执行的功能,比如登陆、切换环境、登陆后进入大模块等。像这样的前置功能或者后置功能写到一个用例里面,其他用例就不能使用了。所以需要配置文件,管理通用的前置操作,类似
阅读全文
摘要:先看下文件上传是类型是否INPUT框,如果是的话,可以通过send_keys输入,如果不是,需要用鼠标进行操作 INPUT框类型的文件上传: import time from selenium import webdriver from selenium.webdriver.common.by im
阅读全文
摘要:框架中元素的定位和选择方法: 我们使⽤浏览器开发⼯具检查元素,我们可能会看到以下内容 <div id="modal"> <iframe id="buttonframe"name="myframe"src="https://seleniumhq.github.io"> <button>Click he
阅读全文
摘要:driver.refresh()WebDriver提供了⼀个API, ⽤于处理JavaScript提供的三种类型的原⽣弹窗消息. 这些弹窗由 浏览器提供限定的样式. Alerts 警告框 其中最基本的称为警告框, 它显⽰⼀条⾃定义消息, 以及⼀个⽤于关闭该警告的按钮, 在⼤多 数浏览器中标记为"确定
阅读全文
摘要:WEB自动化的过程中遇到验证码的时候,有以下方法: 1、Debug模式启动浏览器(浏览器复用)(技术)--推荐 2、识别法(技术)--OCR 3、接口法(技术):开发人员提供接口,通过这个接口可以获取到图片验证码,只用于测试环境 4、移除法(非技术):让开发人员在测似乎环境直接去掉验证码 5、暗号法
阅读全文
摘要:import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.select import Select driver = w
阅读全文

浙公网安备 33010602011771号