
web自动化学习笔记
文章平均质量分 71
测试学徒
一个干测试的小学生
展开
-
web自动化笔记十六:日志收集
日志的作用: -调试程序 -了解系统程序运行情况,是否正常 -系统程序运行故障分析与问题定位 -用来做用户行为分析的数据统计日志级别:是指日志信息的优先级、重要性或者严重程度 DEBUG:调试级别,打印非常详细的日志信息,通常用于对代码的调试 INFO:信息级别,打印一般的日志信息,突出强调程序的运行过程 WARNING:警告级别,打印警告日志信息,表现会出现潜在错误的情形,一般不影响软件的正常使用 ERROR:错误级别,打印错误异常信息,...原创 2022-03-25 14:28:09 · 2042 阅读 · 0 评论 -
web自动化笔记十五:数据驱动
数据驱动1、什么是数据驱动 答:使用测试数据驱动测试用例的执行,测试数据直接影响结果2、特点 答:1、可以理解为数据驱动是一种模式或思想 2、将维护的焦当转到测试数据上,而非测试脚本 3、数据驱动必须结合参数化技术使用 数据驱动 = 数据储存文件 + 读取数据读取工具 + 参数化技术3、数据储存文件类型 1、json、excel、txt、xml、csv、数据库 重点:json txt:扩展原创 2022-03-15 14:32:40 · 1107 阅读 · 0 评论 -
web自动化笔记十四:PO模式封装
Po模式封装 V1-V6 V1:不采用任何模式(线性模型) V2:采用测试框架 unittest V3:业务代码和页面对象进行 V4:实际中的po模式编写 V5:对PO分层之后的代码继续优化 V6:把共同操作提取封装到父类中,子类直接调用父类的方法,避免代码冗余案例: 百度账号登陆 1、账号不存在 2、密码错误V1模式执行代码#导包from selenium import webdriverf原创 2022-03-14 14:25:23 · 4123 阅读 · 7 评论 -
web自动化笔记十三:参数化、跳过用例、生成HTML测试报告
1、为什么要参数化解决冗余代码问题2、什么是参数化说明:根据需求,动态获取参数3、参数化应用场景场景:解决相同业务逻辑,不同测试数据问题。实现:通过安装unittest扩展插件parameterized来实现步骤:1、导包:from parameterized import parameterized2、修饰测试函数 @parameterized.expand(列表类型数据)3、在测试函原创 2022-02-22 13:47:24 · 1125 阅读 · 0 评论 -
web自动化笔记十二:断言
断言概念:让程序代替人为判断测试程序执行结果是否符合预期结果的过程1、为什么要学习断言? 自动化脚本在执行的时候一般都是无人值守状态,我们不知道执行结果是否符合预期结果,所以我们需要让 程序代替人 为检测程序执行的结果是否符合预期结果,这就需要使用断言。注意:自动化脚本不写断言,相当于没有执行测试一个效果2、常用断言方法1、assertTrue(result):如果结果为True通过,否则失败【掌握】2、assertFalse(result):如果结果为False通过,否则失败原创 2022-02-17 14:04:57 · 1505 阅读 · 0 评论 -
web自动化笔记十一:Fixture装置函数
一、Fixture装置函数说明:Fixture是一个概述,对一个测试用例环境的初始化和销毁就是一个Fixture二、Fixture控制级别: 1、函数级别<常用> def setUp()/def tearDown() 特性:几个测试函数,执行几次。每个测试函数执行之前都会执行setUp,执行之后都会执行tearDown 2、类级别<常用> def setUpCl原创 2022-02-16 11:19:49 · 400 阅读 · 0 评论 -
web自动化笔记十:UnitTest基本使用
一、UnitTest框架 ①、什么是框架?1、框架英文单词framework2、为解决一类事情的功能集合 ②、为什么使用UnitTest框架1、批量执行用例2、提供丰富的断言知识3、可以生成报告 ③、UnitTest核心要素1、TestCase —测试用例...原创 2022-02-15 15:44:14 · 1135 阅读 · 0 评论 -
web自动化笔记九:验证码的处理方式
一、验证码常用的处理方式 ①、说明:Selenium中并没有对验证码处理的方法,在这里我们介绍一下针对验证码的几种常用处理方式 ②、方式:1)、去掉验证码(测试环境下采用)2)、设置万能验证码(生产环境和测试环境下-采用)3)、验证码识别技术(通过Python-tesseract来识别图片类型验证码;识别率太低)4)、记录cookie(通过记原创 2022-02-04 11:16:44 · 1966 阅读 · 0 评论 -
web自动化笔记八:滚动条处理和窗口截屏
一、滚动条处理 ①为什么要操作滚动条? 1. 在HTML页面中,由于前端技术框架的原因,页面元素为动态显示,元素根据滚动条的下拉而被加载 2. 页面注册同意条款,需要滚动条到最底层,才能点击同意实现方式: ②说明:selenium中并没有直接提供操作滚动条的方法,但是它提供了可执行javaScript脚本的方法,所以我们可以通过JavaScript脚本来达到操作滚动条的目的原创 2022-02-01 15:11:44 · 1493 阅读 · 0 评论 -
web自动化笔记七:Frame切换、多窗口切换
1、frame操作frame 浏览器一个页面里内嵌一个页面①driver.switch_to_frame(id或者name)#快被淘汰的写法②driver.switch_to.frame()#被推荐的写法driver.swith_to.default_content()#会客厅,回到主页如果三层frame,第一层:driver.switch_to.frame(id或者name)第二层:driver.switch_to.frame(id或者name),只能逐级切换frame第三层如果drive原创 2022-01-31 15:17:09 · 3049 阅读 · 0 评论 -
web自动化笔记六:弹出框处理
1、弹出框类型:1)、alert 警告框2)、confirm 确认框3)、prompt 提示框2、弹出框处理方法(方法三种弹出框操作都一样) `1)、获取弹出框对象: alert = driver.switch_to.alert 2)、调用 alert.text —>返回alert/confirm/prompt中的文字信息原创 2022-01-28 09:55:54 · 4753 阅读 · 0 评论 -
web自动化笔记五:下拉框操作 — <select>元素
1、说明select类时slenium为操作select标签特殊封装的2、实例化对象 select = Select(element) element:<select>标签对应的元素,通过元素定位方式获取, 例如:driver.find_element_by_id(“selectA”)3、操作方法1、select_by_index(index) —>根据option索引来定位,从0开始2、select_by_value(value)原创 2022-01-27 17:29:34 · 1674 阅读 · 0 评论 -
web自动化笔记四:隐式等待和显示等待
1、为什么要设置元素等待? 由于电脑配置或网络原因,在查找元素时,元素代码未第一时间内被加载出来,而抛出未找到元素异常。2、什么是元素等待? 元素在第一次未找到时,元素等待设置的时长被激活,如果在设置的有效时长内找到元素,继续执行代码,如果超出设置的时长未找到元素,抛出未找到元素异常3、元素等待分类 1、隐式等待 2、显示等待原创 2022-01-27 11:00:08 · 2770 阅读 · 0 评论 -
web自动化笔记三:鼠标和键盘操作
鼠标操作方法说明:在selenium中将操作鼠标的方法封装在ActionChains类中实例化对象:action = ActionChains(driver)匿名操作方法:ActionChains(driver).context_click(element).perform()常用函数方法①、context_click(element) 右击—>模拟鼠标右键点击的效果应用:context_click(element).perform()②、double_click(elemen.原创 2022-01-26 16:46:10 · 958 阅读 · 0 评论 -
web自动化笔记二:浏览器的常用操作方法
①maximize_window():最大化浏览器窗口 — >模拟浏览器最大化按钮②set_window_size(width,height):设置浏览器窗口大小 —> 设置浏览器宽、高(像素点)③set_window_position(x,y):设置浏览器窗口位置 —》设置浏览器位置④back():后退 —〉模拟浏览器后退按钮⑤forward():前进 —》模拟浏览器前进按钮⑥refresh():刷新 —〉模拟浏览器F5刷新⑦close():关闭当前窗口 —》模拟点击浏览器关闭原创 2022-01-20 15:11:30 · 1015 阅读 · 0 评论 -
web自动化笔记一:元素定位的八种方式
web自动化学习笔记(一) 八种元素定位方法原创 2022-01-19 17:01:26 · 2349 阅读 · 0 评论