hello-alien
自动化测试人员,接口自动化测试、UI自动化测试。懂点开发,希望做一名优秀的测试人员!
展开
-
浏览器控制台(console)中JS的常用方法:获取元素、鼠标点击、键盘输入等
【代码】浏览器控制台(console)中JS的常用方法:获取元素、鼠标点击、键盘输入等。原创 2024-04-06 21:18:47 · 1205 阅读 · 0 评论 -
元素定位的高级用法----多个字段(contains、not、and、preceding-sibling、following-sibling、normalize-space)的联合使用
1.巧用not()与属性值----排除特定元素2.巧用contains 与and、or、not的联合获取属性的值包含的字符---定位元素3.巧用preceding-sibling & following-sibling 获取同级目录原创 2022-12-13 21:59:56 · 790 阅读 · 0 评论 -
XPath & CSS元素定位----一篇搞定
文章目录1.XPath 与 CSS selector 的对比1.XPath 与 CSS selector 的对比描述XPathCSS selector父元素//div/.无使用ID定位//div[@id=‘id_value’]div#id_value使用class定位//div[@class=‘class_value’]div.class_value使用name定位//div[@name=‘name_value’]div[name=‘name_va转载 2022-08-01 21:33:57 · 1863 阅读 · 0 评论 -
Python3 & C# ---Selenium元素定位:对元素列表的操作、通过label对input box操作的通用方法
文章目录1.案例介绍2.案例一(1)Python3代码(2)C# 代码1.案例介绍 本篇博文,每个案例都会使用python3 & C# 两种语言实现【案例一】1.本篇案例主要介绍如何使用通用的方法,将百度左上角的标签栏参数化,通过"新闻"、“地图”、"视频"等字段即可访问到不同的元素中。2.使用到selenium中元素列表的获取方法,需要遍历列表找到目标元素,然后再点击3.C# 代码中有用到IList数据类型获取元素列表【案例二】1.本篇案例主要介绍使用la原创 2022-05-24 13:49:47 · 786 阅读 · 0 评论 -
Python测试框架Pytest-----几种断言的对比
文章目录1.assert 断言-------(推荐)(1).全部校验都正确的时候(2).中间有一个校验失败的时候2.pytest.assume 断言1.assert 断言-------(推荐)最常见的就这种,简单、朴实、好用,靠谱!!!(1).全部校验都正确的时候import pytestimport timedef calculate_time(func): def fun(*args, **kwargs): t = time.perf_counter()原创 2021-09-09 17:32:37 · 955 阅读 · 0 评论 -
Python3+selenium+Chrome---获取表格(tbody)中数据(tr)的详细内容----a & td内容的获取
文章目录0.业务需求1.表格内容的分步讲解2.代码分步讲解1).获取所有行内容------tr的列表2).获取某行所有字段------td的列表3).获取第一行第一列内容------a的值4).单纯td标签内容的获取3.核心代码0.业务需求如下页面,输入框支持关键字搜索,搜索完如果有内容的话,呈现如下截图效果。UI自动化的过程中,需要获取所有搜索的结果,方便后续测试中做校验本文重点在讲述获取表格信息1.表格内容的分步讲解通过如上截图,我们发现搜索的最终数据内容,是在&l原创 2021-02-03 16:04:52 · 6905 阅读 · 1 评论 -
Centos7+Jenkins+allure
文章目录1.jenkins + allure 博文比较全面2.Jenkins 配置邮件1.jenkins + allure 博文比较全面https://www.jianshu.com/p/8bbb95b2cb8dwindows + allure + jenkins 有代码demo的博文https://blog.csdn.net/DaxiaLeeSuper/article/detail...原创 2020-09-04 17:52:58 · 454 阅读 · 0 评论 -
Postman里面Post请求的四种类型的数据(form-data & raw & binary & x-www-form)
文章目录1.form-data请求2.x-www-form-urlencoded:3.raw4.binary代码如下:1.form-data请求-如上请求中,最终发到服务器的显示如下:通过如上发现,通过如上方式解析到的数据类型为<class ‘flask.restful.reqparse.Namespace’>1.就是http请求中的multipart/...原创 2019-07-04 11:26:12 · 12573 阅读 · 0 评论 -
Socket长连接,如何慢速存储订阅的消息-----持久化存储(mysql)
文章目录1.故事背景:2.解决思路3.demo代码1.故事背景:测试系统是socket长连接的,有订阅机制,可以订阅各种报告,例如task_report、minute_report等等。有个重要环节,是校验各个报告里面,核心数据的变化是否正确,符合预期。订阅的报告是异步的,你订阅了某个report,然后等待系统推送给你,你才能接收到这个报告。如果系统不推送,你也需要一直连接着(长连接不懂的同学请自行学习),等待推送给你。慢速发单的时候,各种报告会低频推送过来。如果是压力测试,每分钟可能原创 2020-08-19 17:16:54 · 481 阅读 · 0 评论 -
Git使用基础---实际操作中,工作区/暂存区/本地仓库/远程仓库的应用场景
文章目录1.基本结构的介绍2.git diff 的使用3.实际操作情况1.修改工作区文件2.把文件添加到暂存区3.从暂存区提交到本地仓库4.把本地develop代码提交到远程master分支1.Everything up-to-date-------Branch 'master' set up to track remote branch 'master' from 'origin'.2.最终方案5.把本地develop代码合并到本地master分支上6.再次修改本地master代码并推送到远程master原创 2020-08-17 15:26:48 · 373 阅读 · 0 评论 -
Python-Selenium中使用JS方式定位元素
文章目录一、以下总结了5种js定位的方法1.通过id获取2.通过name获取3.通过标签名选取元素4.通过CLASS类选取元素5.通过CSS选择器选取元素一、以下总结了5种js定位的方法除了id是定位到的是单个element元素对象,其它的都是elements返回的是list对象1.通过id获取document.getElementById(“id”)from selenium ...原创 2018-11-17 15:17:37 · 10337 阅读 · 0 评论 -
CSS元素定位详解----案例集合--3(入门)
案例一:代码来源(https://www.haolyy.com/html/1LoginRegister/login.html)定位登录按钮:css = footer[class$="loginButton"] 或 css = footer 这两种方式才能定位到使用如下方式,定位不到:css = footer[class^="FPfooter"] 或 cs...原创 2018-06-20 16:09:00 · 939 阅读 · 0 评论 -
CSS元素定位详解----案例集合--2(入门)
CSS 选择器参考手册选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。 [attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。 [a...原创 2018-06-20 14:32:18 · 406 阅读 · 0 评论 -
CSS元素定位详解----案例集合--1(入门)
最初,我转载过一篇有关CSS与Xpath定位区别的文章(https://blog.csdn.net/chenmozhe22/article/details/80218980)。但是,看完之后在实际应用中还是很容易混淆。为了让自己更熟练使用这两种方式定位元素,特别是CSS定位方法(效率比Xpath要高很多),特此写一个案例集,希望看完之后有个更直接的感受。html代码来源(http://www....原创 2018-06-20 11:22:15 · 995 阅读 · 0 评论 -
selenium使用CSS定位页面元素
一、CSS简介CSS 指层叠样式表 (Cascading Style Sheets)CSS 选择器参考手册:http://www.w3school.com.cn/cssref/css_selectors.asp二、定位实例1、以如下html定位为例:[html] view plain copy<span style="font-size:18px;"><!DOCTYPE html...转载 2018-05-06 21:51:29 · 9108 阅读 · 0 评论 -
python3 + selenium------Chrome和Firefox 驱动的使用和版本对应
一.Chrome浏览器对应各个版本驱动的地址如下:http://chromedriver.storage.googleapis.com/index.html备注:打开如上网页之后,2.38的版本是比2.4版本要高,而不是比小数点后第一位数字大小点击进入之后:详细信息如下,win系统的,都使用第三个,点击notes.txt,显示所有详细的版本对应信息二.Chrome驱动的具体使用问题使用WebDr...原创 2018-04-22 19:33:08 · 26661 阅读 · 0 评论 -
python3---unittest框架----setUp&tearDown、setUpClass&tearDownClass、setUpModule&tearDownModule
(1)当类里面定义了setUp()方法的时候,测试程序会在执行每条测试项前先调用此方法;同样地,在全部测试项执行完毕后,tearDown()方法也会被调用。验证如下:import unittestclass SimpleTest(unittest.TestCase): def setUp(self): self.foo = list(range(10)) ...原创 2018-04-07 12:28:36 · 2040 阅读 · 0 评论 -
Windows端UI自动化---python3 + uiautomation--ComboBox(下拉框)、Document & Edit(文本框)
文章目录1.元素类型为 ComboBox的下拉框2.文本框类型(Document & Edit)1.获取元素篇1.输入Json字典1.元素类型为 ComboBox的下拉框下拉框选项的详细信息(包含列表元素、黑色箭头元素):下拉框–黑色箭头详细信息:此元素点击之后的效果:使用UISpy获取到的下拉框每个元素信息如下:核心的代码如下:window.ComboBoxControl(AutomationId='1007').Click() # 这个是点击的下拉框选择框整体# w原创 2020-07-23 16:49:47 · 2823 阅读 · 4 评论 -
Windows端UI自动化---python3 + uiautomation框架
文章目录1.学会使用UIspy.exe软件2.打开某个程序3.获取软件的主界面:4.获取弹框的提示信息5.不同类型元素的操作6.元素的属性7.常用的操作windows端的软件,有多个框架可供选择,例如autoit、uiautomator、uiautomation等等。感觉uiautomation看着更有好一些,就拿来试试。uiautomation地址:https://github.com/yinkaisheng/Python-UIAutomation-for-Windows中文介绍地址:htt原创 2020-06-23 17:07:28 · 27394 阅读 · 8 评论 -
allure使用基础---pycharm+allure+pytest导出报告
文章目录1.代码demo2.pycharm目录结构3.遇到的几个问题(还有个问题没解决)4.使用linux命令导出报告5.最终看到的效果图:本片博文主要想说明:1.如何在pycharm里面,直接导出allure报告2.使用命令行(linux命令)如何导出allure报告3.我在这个过程遇到的问题1.代码demoimport allureimport pytestimport o...原创 2020-04-01 15:44:05 · 2155 阅读 · 0 评论 -
jenkins使用入门-----常规配置&遇到的坑
文章目录1.JDK路径配置1.JDK路径配置# 注意!!!!路径为:jdk的主目录/usr/local/java/jdk1.8.0_231如果错误路径效果如下:原创 2020-01-03 16:16:03 · 506 阅读 · 0 评论 -
Python3---Pytest框架-----Fixture函数详解(2)
文章目录1.Fixture的定义2.fixture的用途一:装饰函数3.fixture的用途二:装饰类4.fixture的用途三:自己运行,不用装饰任何其他1.Fixture的定义fixture修饰器来标记固定的工厂函数,在其他函数,模块,类或整个工程调用它时会被激活并优先执行,通常会被用于完成预置处理和重复操作fixture(scope="function", params=None...原创 2019-07-30 11:04:26 · 3360 阅读 · 4 评论 -
Python测试框架--Pytest(1)
文章目录1.简介:1. pytest 特点2. pytest VS unittest2.Pytest运行1.方式一:文件里面的函数直接查找并运行2.方式二:文件里类里面的测试方法3.通过pycharm运行测试用例3.setup & teardown1.简介:Pytest是python的一种单元测试框架。1. pytest 特点入门简单,文档丰富支持单元测试,功能测试支持参...原创 2019-07-21 18:40:52 · 1187 阅读 · 0 评论 -
python unittest框架里@unittest.skipif()中使用全局变量【抛砖引玉】
文章目录1.@unittest.skipif()里面,可以在每个测试用例里面变更的变量2.@unittest.skipif()里面,不能在每个测试用例里面变化的变量应用场景:全局变量status为一直变动的变量,测试用例是否执行需要判断status的值设置全局变量的几种方法,可以参考:https://blog.csdn.net/chenmozhe22/article/details/813...原创 2019-04-01 20:13:37 · 4729 阅读 · 8 评论 -
Jenkins使用基础入门-----远程连接、测试报告、时间戳
文章目录1.jenkins配置服务器host/user/pw等信息2.使用SSH插件,让jenkins连接服务器3. jenkins根目录 & 命令执行地址??jenkins在centos7服务器上配置好之后,立马想构建一个python的脚本试试的,结果试了多次,只有一次配置里面【执行python脚本】选项构建成功了。直接执行服务器所有的python文件一直没成功,后来发现,其实...原创 2019-12-29 19:45:17 · 530 阅读 · 0 评论 -
pycharm不同测试框架的设置、unittest测试案例
1.Python的测试框架有很多,例如Pytest 、Unittest 、Pyunit 、testtools、subunit、等等(1)pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。(2)unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组...原创 2018-04-22 19:40:30 · 2669 阅读 · 0 评论 -
测试框架Unitest的运行原理,以及多个测试类中的执行顺序以及简化方法
单元测试单元测试(unit testing)是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试框架在单元测试框架出现之前,开发人员在创建可执行测试时饱受折磨。最初的做法是在应用程序中创建一个...原创 2018-04-22 20:06:13 · 6660 阅读 · 0 评论 -
unittest框架加载测试用例(testcase)的不同方法详细讲解
一、unittest模块的各个属性说明1.unittest的属性如下:['BaseTestSuite', 'FunctionTestCase', 'SkipTest', 'TestCase', 'TestLoader', 'TestProgram', 'TestResult', 'TestSuite', 'TextTestResult', 'TextTestRunner', '_TextTestR...转载 2018-04-22 20:54:33 · 8681 阅读 · 0 评论 -
selenium提供了三种模式的断言:assert 、verify、waitfor
1)Assert(断言) 失败时,该测试将终止。2)Verify(验证) 失败时,该测试将继续执行,并将错误记入日志显示屏 3)Waitfor(等待) 用于等待某些条件变为真如果该条件为真,他们将立即成功执行。如果该条件不为真,则将失败并暂停测试。直到超过当前所设定的超过时间。一般跟setTimeout时间一起使用 常用断言assertLocation(判断当前是在正确的页面)assertTitl...转载 2018-04-22 23:46:39 · 5317 阅读 · 0 评论 -
unittest框架里面---verbosity设置
这里的verbosity是一个选项,表示测试结果的信息复杂度,有三个值0 (静默模式): 你只能获得总的测试用例数和总的结果 比如 总共100个 失败20 成功801 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”2 (详细模式):测试结果会显示每个测试用例的所有相关的信息 并且 你在命令行里加入不同的参数可以起到一样的...转载 2018-07-31 11:12:19 · 4646 阅读 · 0 评论 -
python unittest TestCase间共享数据(全局变量的使用)
在使用unittest过程中,发现有时候如果想在测试用例之间共享变量,无法直接实现。查询之后发现解决方式如下:from settings import *import requests,jsonimport unittestclass Login(unittest.TestCase): @classmethod def setUpClass(self): ...原创 2018-07-31 14:28:07 · 9432 阅读 · 6 评论 -
pycharm中脚本执行的3种模式(unittest框架、pytest框架、普通模式)
背景知识,某次使用HTMLTestRunner的时候,发现一直都无法导出报告,后来查询资料发现了一些坑,现在整理一下来龙去脉。一:pycharm默认的是pytest框架去执行unittest框架的测试用例二:python运行脚本的三种模式三:如何修改脚本运行的模式呢?方法一:修改pycharm默认的测试框架方法二:设置运动脚本时候的默认框架四:main()函数有...原创 2018-08-15 15:53:49 · 29952 阅读 · 1 评论 -
python中unittest加载测试用例的4种方法
方式一:unittest.main()方式二:runner.run(discover)(1)test1_register代码:(2)test2_open代码:(3)main文件:(4)结果:方式三:unittest.TextTestRunner().run(suite)(1)test1_register代码:(2)test2_open代码:(3)main文件(...原创 2018-08-06 13:13:35 · 10805 阅读 · 0 评论 -
python(unittest)中使用HTMLTestRunner & BeautifulReport导出测试报告详解
原生的HTMLTestRunner很容易找到,偶尔又发现一个更炫酷一点的HTMLTestRunner_PY3,具体详见Githubhttps://github.com/huilansame/HTMLTestRunner_PY3BeautifulReporthttps://github.com/TesterlifeRaymond/BeautifulReport本文主要描述如何去使用这两...原创 2018-09-28 18:01:20 · 11371 阅读 · 10 评论 -
python3---urllib模块的使用,发送post&get请求&获取cookie
urllib的来源介绍在Python2版本中,有urllib和urlib2两个库可以用来实现request的发送。而在Python3中,已经不存在urllib2这个库了,统一为urllib。Python3 urllib库官方链接 https://docs.python.org/3/library/urllib.htmlurllib的包含的模块urllib中包括了四个模块,包括:...转载 2018-07-01 17:36:10 · 12750 阅读 · 0 评论 -
Python中xlrd、xlwt、xlutils模块,实现在Excel读取和写入数据
python操作excel的三个工具包如下,注意,只能操作.xls,不能操作.xlsx。xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合这三个工具包都可以直接使用pip进行下载:sudo pip install xlrdsudo pip install xlwtsudo pip inst...原创 2018-03-28 17:46:17 · 11968 阅读 · 4 评论