自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

谨言的博客

小白学习成长之路

  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 Python--web自动化的学习目录

selenium环境安装+原理讲解+selenium介绍selenium基础操作web自动化测试的执行步骤Selenium的八种定位方式以及find_element 和 find_elements 的区别验证通过某个表达式能不能找到元素或者判断页面中存不存在某个元素的方法...

2021-03-04 19:29:48 409 1

原创 Jenkins 项目的构建策略

构建触发器在configure中设置触发远程构建(例如:使用脚本)Trigger builds remotely (e.g., from scripts) --Build after other projects are built -- 在其他项目构建之后触发Build periodically -- 定时触发Poll SCM --定期监测代码更新,如果代码更新则触发构建...

2021-03-27 21:35:00 296

原创 Jenkins 项目的构建流程

Jenkins 项目的构建的流程:创建项目----->生成工作目录----->添加源码----->构建一、创建项目1、点击 New Item 创建项目二、生成工作目录1、输入项目名称,点击 Freestyle project 点击 OK2、点击 Save3、点击 Jenkins 就可以看到我们创建的项目4、点击 项目名称,进入项目5、点击 Build Now6、此时会在.jenkins\workspace\的目录下生成我们..

2021-03-26 23:56:22 518

原创 接口自动化测试编写代码的流程

1、从单个接口的 test_.py 模块开始写。2、实现数据驱动 DDT3、读取Excel, ExcelHandler 类, 存放在 common 包里面4、分层,数据,配置文件,logger 日志记录,测试报告。5、注册、登陆。 数据动态生成,手机号码 faker.phone_number()6、数据库存在,为了节省开发成本,是可以不做数据库校验7、数据库的操作8、数据替换,excel #exsit_phone#, if 写得有点多,实现的代码简单容易理解,只有一点笨拙。9、正则表达式,

2021-03-26 18:28:32 611

原创 jenkins --- windows部署

1、下载Jenkins.war包到本地2、下载jdk,安装并配置环境变量3、全部安装好之后,在cmd中输入启动Jenkins的命令java -jar jenkins.war --httpPort=7788--httpPort=3399 的作用是指定端口号,否则系统会自动分配端口号一般看到 Jenkins is fully up and running 这个命令 就是启动Jenkins成功了4、在浏览器中输入:localhost:7788,接下来会出现如下的展示,原始密码在.

2021-03-26 18:27:32 169

原创 python 接口自动化中应用到的 正则表达式

正则表达式:用来使用某种规则匹配字符串当中的子串。如果想要在python中使用正则表达式,需要先导入python自带的 re模块import rere 是 regular expression的简写: 正则表达式

2021-03-25 23:10:05 325 1

转载 python中的@classmethod的作用

一、简介1.1 描述classmethod修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。1.2 语法@classmethod1.3 返回值返回函数的类方法。1.4 实例以下实例展示了@classmethod 的使用方法:#!/usr/bin/python# -*- coding: UTF-8 -*- class A(object): bar = 1 .

2021-03-25 22:58:07 25645 3

原创 python中json的序列化和反序列化

序列化:将python的字典转化成 json 格式的字符串反序列化:将json 格式的字符串转化成 python 当中的字典例如:import json# 是把 json 格式的字符串转化成 python 当中的字典, 反序裂化a ='{"username": "yuz", "age": 10}'print(json.loads(a))# python的字典转化成 json 格式的字符串,序列化b = {"name": "星河", "age": 3}print(json.dum

2021-03-21 18:25:30 320

原创 python中应用到的jsonpath

jsonpath作用jsonpath: 帮助我们快速找到 json 数据当中的字段,key:valuejsonpath 语法JSONPath 描述 示例 $ 根目录对象,提取所有 $ . 或者 [] 子元素 .age 、.age、[age] 、$['age'] .. 子孙元素 $..number [0] 或者 .0 索引 phoneNumbers[0] [0:2:step] 切片 phoneNumbers

2021-03-14 00:36:56 292

原创 接口出现问题时的调试

当代码运行出错的时候,要进行debug哪里报错打印哪里这个看到请求问题,可以看状态码先初略判断一下404基本上是资源找不到,就是我们访问的url有问题再去排查我们拼接出来的url有没有问题这是调试模式下框起来的部分就是我们主动传的数据那首先先看url法1、把数据放到其他工具运行看看结果法2、调试其他接口看是否出现同样情况调试register注册接口时调试register注册接口成功,对比login接口url是不是少了...

2021-03-13 14:33:49 240

原创 Python3《零基础小白从入门到实战》之“数据库的操作“

使用pip安装pip install pymysql建立链接:pymysql.connect() import pymysql#打开数据库连接conn = pymysql.connect('localhost',user = "root",passwd = "123456",db = "testdb")print (conn)print (type(conn))获取游标:conn.cursor()要想操作数据库,光连接数据是不够的,必须拿到操作数据库的游标,才能进行后续的..

2021-03-12 16:51:17 121

原创 random 生成手机号

def generate_new_phone_2(): """自动生成手机号""" phone = '1' + random.choice(['3', '5', '7', '8', '9']) for i in range(9): num = random.randint(0, 9) phone += str(num) return phone

2021-03-12 15:05:55 910

原创 输入 url 后的过程

a.域名解析,DNS 解析 -》 ip 地址(分层级)b.发起TCP连接的三次握手,建立连接。c.建立TCP连接后发起http请求d.服务端响应http请求,返回响应报文e.浏览器页面渲染,展示。f.断开TCP连接,四次挥手...

2021-03-12 14:22:02 127

原创 三次握手四次挥手

第一次握手:建立连接时,客户端向服务端发送请求报文(SYN),“我想建立连接” 第二次握手:服务器收到请求报文后,如同意连接,则向客户端发送确认报文(SYN/ACK)“同意建立” 第三次握手:客户端收到服务器的确认后,再次向服务器发送确认报文,完成连接(ACK) 三次握手主要是为了防止已经失效的请求报文字段发送给服务器,浪费资源。第一次挥手:客户端想分手,发送消息(FIN)给服务器 第二次挥手:服务器通知客户端已经接受的挥手请求,返回确认消息(ACK),但还没做好分手准备; 第三次挥手.

2021-03-12 14:20:59 112

原创 ERROR: file or directory not found: s

因为 -s, 不能把捕获信息显示到测试报告文件。只能用来调试。所以将 -s 去掉就可以了

2021-03-12 14:17:17 3333

原创 if __name__ == ‘__main__‘的作用

例如:下面的这段代码,是封装的一个Excel类,其中的 if __name__ == '__main__'的作用: 1)可以调试代码 2)当这个函数被导入的时候, if __name__ == '__main__'下面的代码不会被导进去import openpyxlclass ExcelHandler: def __init__(self,fpath): self.fpath=fpath def read(self,sh...

2021-03-11 19:24:01 1522

原创 什么样的项目适合做自动化以及自动化测试的流程

什么样的功能或者项目适合做自动化测试?需求稳定,不会频繁变更。(项目初期不太合适) 研发和测试周期长,需要频繁执行回归测试。(搞活动--不适合) 需要在多种平台上重复运行相同的测试场景。 某些测试项目通过手工测试无法实现,或者手工成本太高。(性能测试--模拟上万客户同时登录) 被测软件测开发较为规范,能够保证系统的可测性。自动化测试的流程需求分析 制定测试计划 设计测试用例 用例评审 用Python书写代码 调试代码 测试执行 测试报告输出一般情况下,接口更适合做自动化,接

2021-03-10 20:25:53 764

原创 其他定位方法

1.link text定位:只适用于定位标记名称是a的超级链接,不适用于其他标记的元素,使用超级链接的文本来实现元素的定位,其中文本指的是<a>与</a>之间的完整文本字符串。案例:<a href="user.php?act=logout">退出</a>示例:写法一:quit=driver.find_element(By.LINK_TEXT,"退出")写法二:quit=driver.find_element_by_link_tex

2021-03-10 11:29:19 371

原创 找元素调用的方法

标准写法driver.find_element('class name', 'abc')上面的写法还可以写成下面的样子driver.find_element(By.CLASS_NAME, 'abc')以下写法也可以,但是不推荐原因是:1、不灵活2、即将被 selenium 4.0 官方弃用driver.find_element_by_class_name('abc')...

2021-03-09 23:59:33 150

原创 python接口部分总结

1、json和字典的区别?Json是轻量级的数据交互格式,以key-value的键值对形式来保存数据,结构清晰,可以说是目前互联网项目开发中最常用的一种数据交互格式。字典,同样是以key-value的键值对来保存数据,是python中的一种数据类型。2、你做接口自动化测试时,测试数据放哪里?1)对于一些基础配置比如数据库配置可以放到properties文件(yaml文件,没用过就别拓展了)2)接口测试需要用到的数据可以放数据库表,也可以放到excel中。3、什么是数据驱动?数..

2021-03-08 19:27:05 179

原创 鼠标的操作

手工测试时的鼠标操作:1、单击 2、悬停,移动3、双击4、右击5、拖拽自动化测试鼠标操作:如果要进行自动化操作鼠标,首先要导入一个 ActionChains类from selenium.webdriver import ActionChains创建一个driver对象driver = webdriver.Firefox()driver.implicitly_wait(4)driver.get('file:///D:/classes/web_auto_testin.

2021-03-07 22:25:43 260

原创 Python3《零基础小白从入门到实战》之“pytest测试框架之Mark”

pytest实现了测试用例的灵活筛选和管理那么这个时候就用到了:mark使用Mark标记的步骤:1. 在用例的上方加上@pytest.mark.标签名称2. 在命令行输入 pytest -m "标签名" 运行标签的用例3. pytest 的ini配置文件当中注册 smoke --目的:解决出现的警告信息例如:步骤一:在用例的上方加上@pytest.mark.标签名称#在用例的上方加上@pytest.mark.标签名称@pytest.mark.smokedef te

2021-03-07 22:13:10 280

原创 alert 弹出框的操作

1.Alert对象:是Selenium WebDriver中专门处理弹出框的一种对象,这种对象我们不需要导入它,也不需要实例化,只需要调用切换对象的alert属性就可以获得该对象实例。2.切换到弹出框语法:变量=driver.switch_to.alert说明:alert, 没有括号,也不需要传参数, 全局只有一个3.Alert对象的属性:text,记录弹出框里的当前文本字符串。4.Alert对象的两个操作函数:(1)accept函数:无参,点击弹出框里的“确定”或“OK”或“是”等肯定答案.

2021-03-07 00:08:57 4500

原创 切换Frame

1.Frame介绍:Frame是html语法中的框架技术,可以支持frame或iframe标记,用于在一个主网页里嵌套显示多个子网页,网页之间也可以多层嵌套。2.切换Frame应用场景:当定位元素失败(抛出NoSuchElementException)时,如果确认过定位条件没有问题,前面的等待时间也是足够的情况下,建议查看页面源代码,目标元素的祖先节点中是否存在一个名称是frame或iframe的标记,如果有,就需要切换Frame。说明:只有frame或iframe才需要切换,frameset不

2021-03-06 23:57:18 1536

原创 窗口之间的切换

1.应用场景:如果在自动启动的一个浏览器窗口网页里做了一些操作,一般是点击超级链接或点击按钮等后,有一个新的浏览器窗口出现(新窗口也可能展示为一个新的浏览器标签页),就需要切换到新窗口里,才能操作其中的网页。2.语法:driver.switch_to.window(窗口句柄)3.窗口句柄(Window Handle):是窗口的唯一标识,操作系统在启动一个窗口时,就会给它分配一个新的窗口句柄。窗口句柄不是网页设计者在html里写的一个数据,所以我们测试人员也无法通过调查网页源代码来分析出这个数据。

2021-03-06 19:00:52 411

原创 三种等待操作

1、应用场景:页面跳转时,需要等待新网页里的元素能被定位到才继续操作,还有一些业务,步骤之间本身存在等待的需求,必须等待自动跳转网页才能进行下一步操作。2、有三种等待方式:有三种等待方式,分别是:强制等待、隐性等待、显性等待。1)强制等待:强制等待固定的时间,使用Python语言提供的time模块里的sleep函数,参数是以秒为单位的固定时间数。说明:必须提前导入time模块里的sleep,语法 from time import sleep,然后才能调用sleep函数,示例sleep(5.

2021-03-06 18:30:10 2783

原创 定位方法之css selector定位

1.css层叠样式表,修饰html或xml的文件样式,css里包含selector选择器的技术,可以选择界面上的元素(也就是我们所说的定位元素),可以像xpath一样描述元素的特征或路径。优点是比xpath定位元素速度更快、更简洁短小,缺点是功能没有xpath强大,不能向前查找。css定位和xpath定位是相似的,所以重点掌握一个即可,建议使用xpath,了解css定位即可。2.使用css selector定位,参数写css语法中的定位表达式(1)语法一:find_element_by_css_sel

2021-03-06 15:40:59 4419

原创 定位方法之xpath定位

1.两个概念:(1)xml:可扩展标记语言,是对HTML的扩展,语法和HTML相似,只是它的标记和属性是可以自己根据业务需要来定义的,而HTML里的标记和属性都是固定的。(2)xpath:xml path,就是xml路径语言,是在xml里查找元素或属性的一种技术,用描述元素在整个文件里所在路径的方式来查找信息。(简单来讲就是元素的路径)说明:html可以被看做是标记固定的一种xml,所以xpath也可以应用于html里查找元素,而selenium WebDriver里的xpath定位就是使用xpa

2021-03-05 01:21:39 2851 2

原创 web自动化测试之HTML基础

1.HTML:超文本标记语言,是网页的设计语言,测试人员需要熟悉如何解析HTML,不用书写HTML,解析HTML之后才能找到定位页面上元素的方法,定位元素后才能操作和检查。2.标记:也叫作标签,用<>表示。(1)单标记:<标记 属性1='值1' 属性2='值2' 属性3='值3'/>(2)双标记:<标记 属性1='值1' 属性2='值2' 属性3='值3'></标记>3.HTML文档以<html>开始,以</html>

2021-03-04 19:35:29 242 1

原创 验证通过某个表达式能不能找到元素或者判断页面中存不存在某个元素的方法

方法一if driver.find_elements_by_name('w'): # 返回的是空列表 [] print("元素存在")else: print("元素不存在")方法二try: driver.find_element_by_name('w') print("元素存在")except: print("元素不存在")...

2021-03-04 00:35:39 329 1

原创 Selenium的八种定位方式以及find_element 和 find_elements 的区别

Selenium的八种定位方式?与name有关的有三种:name、class_name、tag_name与link相关的有两种:link_text、partitial_link_text与id有关:id全能选手:xpath、css_selectofrom selenium import webdriver#获取谷歌浏览器driver = webdriver.Chrome()#打开豆瓣网页driver.get('http://www.douban.com')#查找属性名称为:.

2021-03-04 00:32:33 5588 1

原创 web自动化测试的执行步骤

手工测试:打开浏览器 输入网址 点点点 断言(测试是不是到了预期页面) 输出测试报告自动化测试:打开浏览器 输入网址 点点点(先找到输入、点击的元素在哪里---元素定位) 断言(测试是不是到了预期页面) 输出测试报告例如:from selenium import webdriverdef test_start_selenium(): # 测试步骤 driver = webdriver.Chrome() driver.get('http://www

2021-03-03 23:16:07 351 1

原创 selenium基础操作

selenium基础操作# 使用 seleniumfrom selenium import webdriver# 得到一个浏览器对象browser = webdriver.Chrome()# 打开一个网页browser.get('http://www.douban.com')#打印标题print(browser.title)#打印URLprint(browser.current_url)#打印源码print(browser.page_source)# 刷新页面browser.

2021-03-02 23:59:37 490

原创 selenium环境安装+原理讲解+selenium介绍

1.SeleniumSelenium是做Web应用程序功能自动化测试的工具(框架)-- 可以使用自动化的方式操作你的浏览器。说明:Web应用程序是B/S构架的应用程序,通俗的说,就是网站。功能测试也可以狭义的叫做UI自动化、界面自动化。Selenium官网:http://seleniumhq.org/2.Selenium套件: selenium IDE -- 脚本录制工具 selenium webdriver selenium grid -- 远程 3.sele.

2021-03-02 23:40:32 462

测试人员需要了解的Mysql数据库

测试人员需要了解的Mysql数据库,带你由浅入深的掌握数据库的增删改查,适合零基础小白,语言简单明了,易理解,易掌握

2020-12-06

Python3 《零基础小白从入门到实战》

比菜鸟更容易让小白理解的Python编程语言,帮助小白从Python零基础入门到实战--实现自动化测试,告别点点点,本人之前就是一个代码零基础的小白,这套python专栏的博客,就是我在学习的过程中总结的笔记,非常适合没有基础的小伙伴学习

2020-12-06

Linux操作系统简介

这是一套关于Linux操作系统的简介,包括了Linux的简介、安装和调试以及Linux命令大全,对于测试人员来讲是足够用的了,内容清晰,简洁明了

2020-11-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除