- 博客(116)
- 资源 (4)
- 收藏
- 关注
原创 Docker+Selenium Grid运行UI自动化
使用Selenium Grid可以分布式运行UI自动化测试,可以同时启动多个不同的浏览器,也可以同时启动同一个浏览器的多个session。这里使用Docker Compose来同时启动不同浏览器的容器和Selenium Grid,只需一条命令就把自动化运行环境部署好了。
2022-12-29 14:32:11
812
1
原创 PyCharm上传本地项目到GitLab - MacOS版
登录GitLab创建一个项目填写项目名称,选择显示级别复制GitLab的这个项目地址,后面会在PyCharm里面用到PyCharm操作从PyCharm打开本地项目,然后创建本地代码仓库,如下图:选中该项目的根目录,保存,成功后该项目的文件名会变成红色配置远程GitLab项目的地址:点击+号粘贴之前复制的GitLab项目地址:添加本地项目到本地代码仓库,如下图:add成功之后项目文件名变成绿色,如下图:提交项目代码提交成功后,项目文件名变成白色
2021-11-25 16:18:44
1265
原创 【Docker】Docker运行Web UI自动化Demo
技术栈DockerDockerfilePytestselenium代码test_docker_run_UI_automation.py# encoding: utf-8 """@File : test_docker_run_UI_automation.py@Author : linshu@Time : 2021/8/20 8:59 AM@Desc : Docker+Pytest+Selenium+Chrome"""from selenium import
2021-08-30 17:00:53
774
原创 [Mac] selenium打开Chrome浏览器
在Mac电脑用python+selenium打开Chrome还遇到几个问题,这里总结下,以防忘记,也可帮到别人。前提:已安装好python3,selenium安装chromedriver1.先查看Chrome的版本,我这里是872. 下载与Chrome浏览器对应的chromedriver版本,下载链接:https://sites.google.com/a/chromium.org/chromedriver/downloads3. 把下载的文件解压,把chromedriver.exe拷到/usr
2020-12-18 14:52:39
2142
1
原创 Python-常用的正则表达式
re.match()和re.search()match()函数要求必须从字符串开始处开始匹配,而search()函数则可扫描整个字符串,从中间任意位置开始匹配。代码演示:import rem1 = re.match('www', 'www.taobao.com') # 从开始位置匹配print(m1.span()) # span返回匹配的位置print(m1.group()) # group 返回匹配的组print(re.match('taobao', 'www.taobao.com'
2020-10-30 18:12:20
287
原创 Docker - Dockerfile指令
Dockerfile 中可以放入很多指令,包括CMD、ENTRYPOINT、ADD、COPY、VOLUME、WORKDIR、USER、ONBUILD和ENV等,这里做一些总结CMDCMD是指定容器被启动时要运行的命令,如CMD [ "/bin/bash" ] 、CMD [ "/bin/bash", "-l" ]但是,使用docker run 命令可以覆盖CMD命令ENTRYPOINTENTRYPOINT和CMD指令类似,docker run命令中指定的任何参数都会被当做参数再次传递给ENTRYPO
2020-09-27 18:17:36
278
原创 【Docker】docker容器管理总结
简介:总结docker 容器部分的相关命令确认Docker已经安装好前提:已经在Ubuntu宿主机上安装了Docker。调用docker的info命令,该命令返回所有容器和镜像的数量、Docker使用的执行驱动和存储驱动,以及Docker的基本配置运行第一个容器使用docker run命令创建容器test@test-ubuntu:~$ docker run -i -t ubuntu /bin/bashroot@63def11e36a3:/#命令解释:docker run后面指定了-i和
2020-07-24 20:20:21
517
原创 Postman/Newman+Docker+Jenkins/Pipeline 做接口自动化测试
简介:在Postman调试好接口后,直接导出来,用Jenkins、docker和newman来运行接口自动化测试,不用再写额外的代码,可以快速把接口自动化做起来。这里总结Postman/Newman+Docker+Jenkins/Pipeline怎么做接口自动化测试。前提在Postman调试好接口,在每个接口的Tests模块加好断言,调整好接口的顺序,至少保证用Postman的Runner能跑的通。导出接口文件夹和环境变量安装好Docker安装好Jenkins创建Jenkinsfile这里
2020-06-18 17:58:10
1839
1
原创 Docker运行Postman/Newman
Newman介绍Newman是Postman的一个命令行运行工具,我们可以把Postman里的接口导出来,然后通过Newman在命令行运行,再结合Jenkins就可以做接口自动化的持续集成了导出Postman的接口文件夹和环境变量导出接口文件夹再导出对应的环境变量导出后是两个json文件,如下在Docker环境下安装newman这里是在Docker已经安装到Ubuntu的环境下,再拉取newman的docker镜像docker pull ubuntu:18.04通过:docker
2020-06-18 17:01:39
2891
原创 Docker -删除镜像(image)
docker有两个与删除相关的命令:rm 和 rmirm Remove one or more containersrmi Remove one or more images很明显,rm是删除容器的,而rmi是删除镜像的,而容器是镜像运行的实例。如果在容器运行的时候删除镜像,会报错。所以,要先停止运行中的容器docker stop containerIDcontainerID可以通过命令:docker ps找到:然后,删除容器docker rm containerID最后删除im
2020-05-29 08:46:47
756
原创 【Pytest】fixture使用request传参,结合parametrize
传一组参数@File : test_fixture_parametrize.py@Author : 灵枢@Time : 2020/4/8 4:51 PM@Desc : """import pytesttest_account = ["user1", "user2"]@pytest.fixture(scope="module")def login(re...
2020-04-29 16:53:37
1476
1
原创 【Pytest】使用Allure测试报告
简介:Allure非常适合作为自动化测试报告,这里总结下Pytest使用的Allure测试报告的用法环境准备所需环境ide使用PyCharmpython 3.7pytest 5.3.2allure-pytest 2.8.13allure-pytest 安装在已经安装python3和pytest的前提下,打开PyCharm,进入Project Interpreter,点击“...
2020-04-22 17:53:23
12750
12
原创 域名系统DNS 总结
域名系统域名系统DNS(Domain Name System),用来把便于人们使用的机器名字转换为IP地址。例如我们访问百度,只需要输入www.baidu.com就行了,不用去记百度服务器的地址,DNS服务器会自动把www.baidu.com转换为百度的IP地址。域名结构因特网采用层次树状结构来命名域名,任何一个连网的主机或路由器都有一个唯一的域名。这里的“域”是可以划分的,每个域都可以划分...
2020-03-30 18:43:55
1760
原创 Python - 日期、时间和日历操作
总结Python的日期、时间和日历的获取、比较等,主要是导入time、datetime、calendar这三个包日期格式的转换import datetimetime_format = '%Y-%m-%d %H:%M:%S'now = datetime.datetime.now()print nowprint type(now)# 将日期转化为字符串 datetime -> st...
2020-02-29 11:58:57
1164
原创 Python -日志模块使用
简介使用的python的日志模块logging用于打印日志。自定义工具类# encoding: utf-8 """@File : logger.py@Author : 灵枢@Time : 2020/2/12 10:55 AM@Desc : """# -*- coding:utf-8 -*-import loggingclass Logger: ...
2020-02-15 10:15:17
331
原创 动态主机配置协议DHCP
DHCP定义计算机连接到因特网需要配置项目包括:IP地址子网掩码默认路由器的IP地址域名服务器的IP地址由于现在笔记本电脑大量使用,经常需要切换网络连接配置,如果每次都配置静态IP就很麻烦,现在广泛使用的是动态主机配置协议 DHCP(Dynamic Host Configuration Protocol),它提供了一种机制,称为即插即用连网(plug-and-play networ...
2020-01-20 19:26:16
843
原创 2019年总结 - 收获很多
简介:这是我第一次公开年总结,以前也都有写(基本是流水账),但是都是自己看的。工作上1、做了app端的自动化测试,完成了从web到app端全流程的自动化2、自动化测试报告从Reportng改为 Allure3、用HttpRunner 落地写了一个项目的接口自动化4、由于公司效益不好(延迟发工资好几次),12月份来到了一家外企公司,这边可以更多的学到计算机网络、Linux、英语。学习上...
2019-12-31 19:35:54
330
原创 MacBook 复制文件和文件夹路径
总结 MacBook 复制文件和文件夹路径的方法拖拽文件或文件夹到Terminal拖拽文件或文件夹到浏览器地址栏使用Automator 自定义一个右键-Copy path 的功能 (推荐)打开mac自带的 Automator, 在启动台-其它 里面。选择“Quick Action”设置快捷键,参考如下截图保存的时候填写快捷键的名称复制文件夹路径:选中文件夹-右键-Ser...
2019-12-30 18:48:05
2843
原创 【Appium】Android Toast捕获
简介:Android Toast是在使用app时的一个弹出文字提醒,一般持续显示2-3秒就消失,在做自动化测试时需要捕获toast来做一些验证。但是toast是属于Android系统级别的提醒,很难捕获到,所以记录下如何捕获toast。捕获原理Appium在UIAutomator2引擎下支持对toast的捕获,捕获原理代码如下图,即Android后台开了一个服务,当界面发生变化时就去捕获信息,...
2019-11-25 09:45:05
1064
原创 【Appium】使用uiautomator定位元素
介绍:appium可以使用uiautomator 来定位元素,或者滚动页面。使用uiautomator 只适用于Android。下面以appium官方自带的调试App来演示。调试App下载地址:https://github.com/appium/appium/blob/master/sample-code/apps/ApiDemos-debug.apk通过className定位通过clas...
2019-11-22 15:00:17
845
原创 xpath不等于、不包含的写法
简介:写自动化用例时经常会用到xpath来定位元素,这里总结一下xpath语法中不等于、不包含的写法问题如下图:该页面有两个页签,我们需要在第二个页签进行操作:在输入框输入后点击确定按钮。第一次写的xpath是这样的//button[./span[text()='确定']]运行时报错Element is not clickable at point,出现这种错误通常因为是这个xpat...
2019-11-05 18:27:26
20854
原创 【JVM】 垃圾回收算法
简介:对JVM常见的垃圾回收算法做个整理引用计数器算法(Reference Counting)给每一个对象设置一个引用计数器,每当有一个地方引用这个对象的时候,计数器就加 1,每当引用失效的时候就减 1。垃圾回收时,只用收集计数为0的对象。缺点:无法处理循环引用的问题。复制算法(Copying)复制算法是将内存空间分为大小相同的两个区域,每次只使用其中一个区域,当这一区域使用完了,就把当...
2019-10-31 09:16:30
143
原创 HttpRunner使用总结
摘要:最近在用HttpRunner做接口自动化测试,写这篇博客对HttpRunner的使用加以总结HttpRunner中文使用文档: https://cn.httprunner.org/1、json返回值有list时,用0,1来取list的第一个或第二个,如:{ "code":"000", "msg":"成功", "data":{ "id":"1366...
2019-10-17 10:34:56
2733
原创 SpringBoot-Mybatis 自动生成pojo和mapper
简介:使用一个开源工具,整合了SpringBoot和Mybatis,可以根据数据库表生成pojo,mapper.java和mapper.xml,还支持分页查询。这里对该工具的使用加以总结工具地址:https://github.com/abel533/MyBatis-Spring-Boot配置1、pom.xml 添加依赖 <dependency> <...
2019-09-10 19:37:51
3237
3
原创 递归算法
递归原理递归是一种解决问题的有效方法,在递归过程中,函数将调用自己为了确保递归函数不会导致无限循环,它应具有以下属性:一个简单的基本案例, 能够不使用递归来产生答案的终止方案。一组规则,也称作递推关系,可将所有其他情况拆分到基本案例。示例1-杨辉三角杨辉三角如下图,每一个格子的值等于其左上角加上右上角之和问题:给定一个非负整数 n,生成杨辉三角的前 n 行?分析首先,定义一...
2019-08-15 20:23:17
245
原创 搭建网页版的Postman-Hitchhiker
摘要:Postman可以很好的做接口功能测试和调试接口,但是如果一个团队要共享接口的话是要收费的。现在有个开源的工具Hitchhiker,相当于一个网页版的Postman,而且团队间可以很好的共享接口。本博客是对在Windows环境搭建Hitchhiker的总结和基本使用介绍。安装node.js1、下载nodejs,这里提供一个官网下载链接:https://nodejs.org/dist/v8...
2019-07-17 18:35:46
4467
1
原创 【python】Pytest+Request+Allure+Jenkins 接口自动化测试Demo
概要:对postman的一个接口做了接口自动化测试,使用Pytest+Request+Allure+Jenkins 框架技术栈:python3 、pytest、RequestsAllureJenkins测试接口介绍本例使用Postman自带的一个接口来做测试,url如下:https://postman-echo.com/time/before?timestamp=2016-10-...
2019-07-16 19:51:55
11456
1
原创 【JMeter】自定义线程组设计测试场景
摘要:JMeter中我们使用线程组来控制测试场景,原线程组无法设计复杂测试场景,所以要用到JMeter插件提供的线程组元件Ultimate Thread Group 和 Stepping Thread Group。JMeter插件的安装参考:https://blog.csdn.net/galen2016/article/details/92806212Ultimate Thread Group...
2019-06-19 11:40:42
986
原创 【JMeter】安装JMeter插件
摘要:JMeter作为开源性能测试工具,第三方团队开发了更多配置功能,即JMeter插件安装1、下载插件jar,官方下载地址:https://jmeter-plugins.org/install/Install/2、把下载的jar复制到JMeter安装路径的\lib\ext目录下3、重启JMeter4、点击Options,如果出现选项Plugins Manager,则说明插件安装成功...
2019-06-19 10:24:37
844
原创 UI自动化测试框架SelenJA介绍
简介SelenJA是我封装的一个基于selenium+testng的自动化测试框架,使用Jenkins来跑自动化用例,并在Jenkins中使用了Allure插件来显示测试报告GitHubhttps://github.com/Adien-galen/SelenJA 欢迎点star技术栈JavamavenseleniumtestngallureJenkins优点封装s...
2019-06-13 20:06:11
436
原创 WebDriver+Pytest自动化框架SeleniumBase介绍
简介:SeleniumBase是一个基于Selenium-WebDriver和Pytest的Web自动化测试框架gitbub地址:https://github.com/seleniumbase/SeleniumBase特点:封装了WebDriver API 可以很方便的调用提供 —demo_mode 模式,使脚本执行的过程变得很慢,并让操作的元素高亮显示,方便定位问题可以加 --p...
2019-05-30 19:23:04
4199
原创 【Java】JDK、JRE、JVM的区别
JDK全称是Java SE Development Kit,即Java标准版开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等JDK下载路径:https://www.oracle.com/technetwork/java/javase/downloads/index.htmlJVMJava虚拟机,即Java Virt...
2019-05-22 10:06:21
201
原创 【Docker】Docker安装centos
1、打开dokcer虚拟机命令行2、拉取centos镜像docker pull centos用docker images查看拉取的镜像3、启动容器docker run -it --name mycentos centos /bin/bash用这个命令启动后就进入了centos的命令行模式了4、退出centosexit注意:exit只是退出centos命令行,但是此时c...
2019-04-18 20:42:27
792
原创 【Docker】在docker中运行一个web应用
使用 docker 构建一个 web 应用程序通过docker的training/webapp练习镜像,实现通过端口连接到一个 docker 容器来运行一个 Python Flask的web应用,然后在Windows系统的浏览器中访问该应用。1、打开windows 的命令行,输入:docker-machine ls,可以查看虚拟机的地址为192.168.99.1002、用xshell连接上...
2019-04-18 20:24:09
2989
原创 【Docker】win7安装docker及镜像加速
安装Docker在Windows上使用有两种方式,一是利用VirtualBox建立linux虚拟机,在linux虚拟机中安装docker服务端和客户端,二是利用Windows的Hyper-v虚拟化技术,直接在Windows上安装docker服务端和客户端。因为WIndows7不支持Hyper-v,所以只能采用Docker Toolbox的方式使用Docker。1、Docker Toolbox下...
2019-04-11 20:24:10
3906
2
原创 【Jenkins】testng+Allure显示测试报告截图和测试步骤
简介:总结在Jenkins打开的Allure测试报告里怎么添加失败用例截图和测试步骤。Jenkins配置Allure参考我的另一篇博客:https://blog.csdn.net/galen2016/article/details/88015322技术栈:JavamaventestngseleniumJenkinsAllurepom.xml配置<properties>...
2019-03-28 20:26:47
7493
2
原创 【selenium】selenide使用总结
简介:selenide是对selenium的一个封装,使用了更简单的写法,无需考虑元素的等待时间。优点:内置隐式等待用例运行完后自动关闭浏览器代码简单,易读自动对失败用例截图由于是对selenium的封装,所以可以和selenium一起使用官方文档:https://selenide.org/documentation.html安装maven项目在pom.xml添加如下依赖即可...
2019-03-22 10:18:26
6134
2
原创 【Appium】打开手机自带的浏览器
简介:总结用appium打开Android自带的浏览器,本例使用手机的是小米6。public class AppDemo { private AppiumDriver driver; @BeforeClass public void setUp() throws Exception { //设置自动化相关参数 DesiredCapabil...
2019-02-28 15:07:31
5080
1
原创 【Jenkins】显示Allure测试报告
前言:用testng+maven做的自动化测试项目,现在加上了Allure报告,总结下怎么在代码里和Jenkins配置Allure。pom.xml新增以下这些配置 <properties> <aspectj.version>1.8.5</aspectj.version> </properties> <dep...
2019-02-28 10:05:59
5826
1
MteSense-Wdd-beta-0.2.2.jar
2017-10-22
reportng-1.1.4.jar
2017-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人