自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 docker学习一——docker简介

为什么使用dockerdocker是一种虚拟化技术,跟传统的虚拟机相比有很大的优势,不用占用太大的内存消耗,充分利用宿主机内存,启动时间以倍数比例减少,以及在持续集成方面都会展现出很大的优势。传统的虚拟机技术:需要首先进行硬件虚拟,再进行软件虚拟,这样会特别占用宿主机内存,这也是为什么一台电脑上装了虚拟机以后会很卡的原因。docker技术:只需要在宿主机上装一个docker服务,就可以在docker服务上安装各种容器,容器间互相隔离,利用宿主机的内核,不用再虚拟出一套硬件以及运行完整的操作系统等额外

2020-07-09 12:29:02 202

转载 selenium之options模块

原文出处:https://blog.csdn.net/zwq912318834/article/details/789339101. 背景在使用selenium浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。常用的行为有:禁止图片和视频的加载:提升网页加载速度。添加代理:用于翻墙访问某些

2020-05-08 21:40:13 5613

原创 selenium之action_chains模块(鼠标操作)

action_chains模块主要是通过ActionChains类模拟鼠标操作,单击、双击、右击、移动、拖拽等动作常用的方法:from selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsimport timedriver = webdriver.Chrome...

2020-05-07 23:22:24 1005

原创 selenium之WebDriver的常用方法

WebDriver是操作浏览器驱动,启动服务,然后创建Chrome驱动程序实例对象操作浏览器,详细工作原理可以参考selenium之WebDriver的工作原理本篇主要介绍WebDriver的常用方法及常用参数import timefrom selenium import webdriverdriver = webdriver.Chrome()driver.get("https://...

2020-05-07 22:43:53 450

原创 selenium之WebDriver的工作原理

传送门

2020-05-07 21:21:50 202

原创 selenium之select模块方法

对于页面中的下拉框选项,使用selenium的select模块可以进行操作,并精确定位下拉选项及所有的option值。1、首先select模块中关于option选项的方法:options:返回所有的option选项all_selected_options:返回所有选中的option选项first_selected_option:返回第一个选中的option选项自定义一个下拉框页面&lt...

2020-05-07 06:51:59 7866

原创 selenium三种时间等待

第一种:sleep 固定等待时间,这种等待时间比较死板,如果脚本中出现大量的sleep,那么脚本的性能肯定会下降很多第二种:隐式等待implicitly_wait(timeout),隐式等待时间作用于整个的WebDriver的生命周期,对每一个find_element函数都有效,即使元素找不到也会等待timeout的时间再抛异常第三种:显式等待WebDriverWait(driver, ti...

2020-04-30 07:28:19 126

原创 selenium的expected_conditions模块方法

expected_conditions模块主要用于对页面的加载进行判断,主要的用途有两个,一、用于响应数据断言;二、与WebDriverWait连用,等待页面元素加载成功常用方法:title_is(title_pre):判断当前页面的title是否精确等于title_pretitle_contains(title_pre):判断当前页面的title是否包含title_prepresence...

2020-04-30 07:26:00 535

原创 两篇python GUI编程的入门级文章

这两篇文章用作GUI编程的入门应该是够了。。。https://blog.csdn.net/sinat_36184075/article/details/86662104https://www.cnblogs.com/shwee/p/9427975.html

2020-04-09 06:37:47 115

原创 robotframework报错:创建Chrome进程失败问题

今天新装了robotframework,使用selenium打开Chrome浏览器时报了一下的错:cannot capture screenshot because no browser is open …WebDriverException:Message:unknown error:Failed to create Chrome process也百度了解决办法,就是把Chrome的chro...

2020-04-07 22:55:49 2175 1

原创 unittest+selenium+HTMLTestRunner简单示例

今天用unittest+selenium+HTMLTestRunner做一个简单的项目实战,只是简单的测一下CSDN和博客园的一些界面元素。

2020-04-07 22:15:40 145

转载 Python必会的单元测试框架 —— unittest

Python必会的单元测试框架 —— unittest 转载地址https://blog.csdn.net/huilan_same/article/details/52944782 ...

2020-04-01 21:32:19 125

原创 selenium遇到的元素不在当前页面问题

在web自动化测试时,点击密码输入时,元素定位不了,经分析是页面重新进行了刷新,报错信息如下:selenium.common.exceptions.StaleElementReferenceException:Message:stale element reference:element is not attached to the page document举个栗子:有一个用户名密码的输入框,...

2020-04-01 21:14:35 788

原创 selenium常用方法(二)

webdriver调用js:excute_script(js):调用js语法,采用同步方式,执行js代码会阻塞主线程向下执行excute_async_script(js):采用异步方式调用js,执行代码不会阻塞主线程向下执行滚动条操作:一般的滚动条操作直接调用以下js语句即可滚动到页面的底部scroll = ‘var q=document.documentElement.ScrollTo...

2020-03-31 21:37:47 236

原创 xpath常用基础语法

xpath是xml路径语言,用来确定xml文档中某部分位置的语言,所以我们可以通过xpath来获取页面HTML文件中的对象节点,对其进行操作下面介绍一下xpath的常用表达式:nodename:选用该元素/:从根节点选取元素//:选取文档中的节点,而不考虑他们的位置.:选取当前节点…:选取当前节点的父节点@:选取属性text():选取文本举个栗子:bookstore:选取boo...

2020-03-30 22:25:12 244

原创 selenium常用方法(一)

webdriver常用的操作对象的方法:click():点击对象send_keys():模拟键盘输入,使用时如果出现中文乱码,在括号内加上u,即使用utf-8的编码方式,即可解决中文乱码问题clear():清除对象内容submit():提交对象内容(主要针对表单)text:获取元素文本信息等待时间方法:time.sleep():固定时间等待,在实际的应用中是比较耗时的implici...

2020-03-30 21:15:47 286

原创 python基础——字符串方法

字符串方法

2020-03-25 21:19:30 97

原创 git总结

git:目前最强大的开源分布式管理系统,方便项目管理。下面介绍一下git的使用命令:git init:在本地创建一个目录,执行git init命令就可以把当前目录变成git可以管理的本地仓库创建好本地仓库以后,来了解一下git的工作区、缓存区、本地仓库三个概念工作区:在执行git init的目录下的可见的文件或目录就可以认为是工作区(.git目录除外)缓存区:自我理解是.git目录中的i...

2020-03-25 06:43:40 86

原创 python基础——os模块

对操作系统进行操作的模块os.walk()os.chdir()os.sep()os.getcwd()os.listdir()os.mkdir()os.mkdirs()os.rmdir()os.nameos.stat()

2020-03-23 22:31:27 104

原创 python基础——enumerate

enumerate函数同时得到下标和值

2020-03-23 21:56:02 127

原创 robotframework安装教程

robot framework安装

2020-03-23 20:45:48 192

原创 python基础——exec函数和eval函数区别

exec:动态执行python代码,支持复杂的代码逻辑,没有返回值eval:计算指定表达式的值,执行的python代码只能执行单个表达式,不支持复杂的逻辑代码

2020-03-16 21:11:27 123

转载 python基础——获取当前系统类型os.name

...

2020-03-16 20:12:22 256

原创 linux命令学习笔记(四)——du、df、more、less、free

du显示文件或目录占用的磁盘空间du -a 显示全部文件的大小,包括每个子目录下的文件du -h 以K,M,G显示每个文件的大小,提高可读性du -s 仅显示总计大小df显示文件系统的磁盘使用情况df -h 以可读的形式显示磁盘的使用情况df -x 排除指定的文件系统more一页一页的显示文件内容more file 分页显示文件内容more -s file 若...

2020-03-14 13:32:08 417

原创 linux命令学习笔记(三)——ln、split、cut、paste、tee、tail、umask、tar、-exec

ln在一个地方为另外一个文件建立链接ln 建立硬链接,但是不能把文件夹建立硬链接,只有文件可以ln -s 建立软连接,文件夹和文件都可以建立软连接split将大文件折成小文件split -l 10 file xiaogu_ -d -a 2 将file文件拆分成每个10行的小文件,前缀是xiaogu_,后缀是数字类型,并且是两位数字split -b 100k file 将file文...

2020-03-14 08:05:37 317

转载 深入理解 Python 异步编程

原文出处链接很多朋友对异步编程都处于“听说很强大”的认知状态。鲜有在生产项目中使用它。而使用它的同学,则大多数都停留在知道如何使用 Tornado、Twisted、Gevent 这类异步框架上,出现各种古怪的问题难以解决。而且使用了异步框架的部分同学,由于用法不对,感觉它并没牛逼到哪里去,所以很多同学做 Web 后端服务时还是采用 Flask、Django等传统的非异步框架。从上两届...

2020-03-12 23:12:36 383

原创 python字符串格式化三种方式

字符串格式化在输出到终端或文件中是很有用的,可以给人一种阅读的美感,下面介绍一下python的三种字符串格式化的三种方法第一种:使用占位符tester = "xiaogu"programmer = "laopan"print("abc %s, %s" % (tester, programmer))输出:abc xiaogu, laopan第二种:format格式化,有以下三种方...

2020-03-12 22:48:56 158

原创 linux命令学习笔记(二)——tr、xargs、scp、mkdir、grep

tr用来替换、删除文件中的字符tr -d 第一字符集 第二字符集 用第二字符集的字符删除第一字符集的字符tr -s 删除重复出现的字符,只留第一个xargs将标准输出转化为命令行参数xargs -d 指定分隔符xargs -p 系统会询问继续执行,y继续执行xargs -n num 指定几个参数可以使用xargs -E char char前的参数可以使用,但是不能...

2020-03-11 20:53:33 637

原创 jmeter工具学习笔记——第二篇

配置元件配置元件相当于协议管理器,主要用来管理协议链接,用的最多的是协议默认请求模板。注意:配置元件并不是消息驱动器,而只是协议管理器,只添加配置元件并不能发送消息。作用范围:对同级别的后续节点生效,对子节点生效。与测试计划中的用户自定义变量相比,配置元件的定义变量可以添加到不同的节点下,限制范围。前置处理器在发送请求前做一些环境或参数准备工作,比如参数设置、环境变量设置等。定时器...

2020-03-11 20:52:54 73

原创 linux命令学习笔记(一)——ping、sort、uniq、fold、colrm

ping测试两个服务器之间是否可以通信命令:ping -c count ip 指定IP回应次数,并且-c参数需要使用管理员权限ping -i time ip 指定回应的时间间隔ping -s size ip 指定回应的数据包大小ping -w time ip 指定超时时间sort以行为单位进行排序,从首字母开始sort -u 去除重复行sort -r 降序排列sort ...

2020-03-11 08:11:41 165

原创 jmeter工具学习笔记——第一篇

测试计划一个测试场景就可以看作是一个测试计划。一个完整的测试计划至少需要一个线程组、一个取样器、一个断言、一个监听器。在测试计划面板中设置的"用户自定义变量"是全局变量,对所有的线程组都有作用。在测试计划中选中"独立运行每个线程组",则可以设置线程组的顺序执行,如果一个测试计划中有多个线程组,则会按照顺序一个一个的执行,如果不选"独立运行每个线程组",则所有的线程并发执行。线程组一个线...

2020-03-11 08:10:30 168

原创 软件开发测试流程

这张图反应了软件开发测试的整体流程:1、产品经理从客户、市场等渠道获取产品信息2、产品经理根据获取的产品信息构建产品3、在产品中根据不同的情况分出不同的模块,每个模块中又会分不同的需求4、产品经理把各种需求整理好之后,进行需求评审5、根据各方面的综合考虑之后进行需求变更,确定最后的需求(通常会有多次变更,即使是在开发的过程中)6、项目经理根据产品经理的需求产品进行立项7、根据需求...

2020-03-09 21:42:51 2921

原创 python基础——with与上下文管理器

withwith关键字是一个流操作,可以调用上下文管理器对象,也就是只要实现了上下文管理器协议就可以使用with关键字调用应用场景:对于一些事先需要准备数据,事后需要数据清理工作的任务使用with关键字很方便。关于with很好的例子就是文件操作,打开文件获得一个句柄,对文件进行操作,关闭文件xiaogu = "xiaogu is the man of imposing looking"...

2020-02-29 23:23:40 109

原创 python基础——闭包、装饰器

闭包定义:一个函数中再定义一个函数,其中里边的函数用到了外边函数的变量,则称这两个函数为一个闭包。看一个闭包的例子:def f1(x): def f2(): return x+1 return f2ret = f1(10)print(ret())输出:11上述代码中,调用f1函数返回的f2函数的引用,即ret指向的是f2的引用,在调用ret时即是调用f2函数。由于闭...

2020-02-26 22:15:58 110

原创 python基础——itertools模块

itertools模块提供的函数大多是返回一个迭代器,以下介绍几个常用的函数count:无限迭代器,接受两个参数,第一个参数为起始位置,第二个参数为步长import countfor i in itertools.count(): # 不指定参数默认是从0开始,步长为1 print(i) 输出:会一直不停的输出cycle:无限迭代器,接受一个可迭代参数import itert...

2020-02-25 22:11:27 208 1

转载 python基础——fileinput模块

转载: Python中fileinput模块介绍fileinput模块可以对一个或多个文件中的内容进行迭代、遍历等操作。该模块的input()函数有点类似文件readlines()方法,区别在于:前者是一个迭代对象,即每次只生成一行,需要用for循环迭代。后者是一次性读取所有行。在碰到大文件的读取时,前者无疑效率更高效。用fileinput对文件进行循环遍历,格式化输出,查找、替换等操作...

2020-02-25 20:38:39 407

原创 python基础——多进程

进程和程序的区别程序:像xiaogu.py这样的文件叫程序,程序是静态的进程:运行起来的程序+用到的资源叫进程,进程是操作系统调度的单位多进程python已经封装好了底层模块multiprocessing,可以更加方便的使用,并且主进程会等待子进程结束而结束首先看一下多进程的使用。multiprocessing模块就是跨平台版本的多进程模块,提供了⼀个Process类来 代表⼀个进程对...

2020-02-21 08:04:13 112

原创 python基础——多线程

多任务所谓多任务,简单的说就是操作系统同时执行多个任务真正的多任务是只能在多核CPU上才可以实现的,单核CPU只是切换速度比较快,根本不是真正的多任务并行和并发概念并行:当任务数小于CPU核数,每个任务占用一个CPU核,所有任务真正的一起执行并发:当任务数大于CPU核数,操作系统通过调度算法,在各个任务之间进行切换,实现多任务"一起"执行,实际上只是切换的速度比较快,看起来一起执行而已...

2020-02-17 21:36:17 283

原创 python基础——logging模块

logging模块是python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。logging模块默认是使用warning等级,所以在不指定等级的情况下只有warning及其以上才会在终端中打印import logging logging.debug("aaa")logging.info("bbb")logging.warning("ccc"...

2020-02-14 21:56:17 86

原创 python基础——csv格式

csv格式是电子表格和数据库中常用的输入输出的文件格式,以逗号为分隔符隔开,可以使用excel查看csv读写方法:“r” 只读,如果文件不存在,报错“w” 只写,如果文件不存在,自动创建“a” 追加 写在文件的末尾,如果文件不存在,自动创建csv写入文件方法1:import csv# 创建一维数组用于单行写入header = ["name", "sex", "age", "a...

2020-02-13 12:59:05 352

空空如也

空空如也

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

TA关注的人

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