![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
金玉满堂@bj
80后的尾巴,依然北漂,奋斗在it测试领域!熟悉python ,java,go,目前工作主要以自动化测试为主,测开岗位,后续移动端开发,爬虫,数据分析等技能需要再加强哦!欢迎留言哦!
展开
-
已经2023年了,再不会用Jenkins可能就被abandon
通过这一套流程下来,我们的项目也就成功实现了自动化部署,当然,我也完成了我还在开发中的毕业设计的自动化部署,而且每隔半小时,Jenkins就会去拉一次代码,然后进行打包部署。我们就可以愉快地在我们的本地进行开发啦,开发到一定程度就把代码push到我们的github仓库即可!顺利摆脱了传统的需要开发完手动部署的方式!!!作者:Bird_伯德链接:https://juejin.cn/post/7048582881576222734来源:稀土掘金。转载 2023-01-10 22:18:52 · 517 阅读 · 0 评论 -
一个测试人员的浏览器书签必备网站,你有几个呢?
测试原创 2022-06-11 16:02:18 · 203 阅读 · 0 评论 -
python自动化问题:去除“Chrome正在受到自动化测试软件
from selenium import webdriveroption = webdriver.ChromeOptions()# 新版本谷歌浏览器-解决控制提示option.add_experimental_option('useAutomationExtension', False)option.add_experimental_option("excludeSwitches", ['enable-automation'])dr = webdriver.Chrome(options=o.原创 2022-05-01 13:10:48 · 1342 阅读 · 0 评论 -
线上环境怎么做UI自动化呢?
线上环境免登陆原创 2022-04-09 16:53:03 · 1366 阅读 · 0 评论 -
自动化测试的一些面试题分享
一、Web自动化测试1.Selenium中hidden或者是display = none的元素是否可以定位到?不能,可以写JavaScript将标签中的hidden先改为0,再定位元素2.Selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?1.添加元素智能等待时间 driver.implicitly_wait(30)2.添加强制等待时间(比如python中写 sleep)3.try 方式进行 id,name,clas,x path, css se原创 2022-04-08 11:04:08 · 642 阅读 · 0 评论 -
1234567彩票---七星彩中奖分析
之前看过一个电影 张灯结彩 ,就是郭冬临,付彪,李丁等演的中500万的事。彩票号码 1234567# # 奖项 七星彩# # 七星彩是彩票的一种,由中国国家体育总局体育彩票管理中心统一发行。# # 区分为七位(第一、二、三、四、五、六、七位),各位号码范围为自然数0~9。# # 每期从各位上开出1个号码作为中奖号码,即开奖号码为7位数。七星彩玩法即是竟猜7位开奖号码,且顺序一致。# # 注意,顺序必须一致才能算中奖哦。# # 规则:七星彩中奖分为六等# ## # 一等奖定位中7码1234原创 2022-03-02 17:19:40 · 2912 阅读 · 1 评论 -
七乐彩中奖彩票分析
雷同其他的原创 2022-03-02 09:00:00 · 416 阅读 · 0 评论 -
超级大乐透中奖小算法
超级大乐透 模拟机选,中奖,评定奖项原创 2022-03-01 21:52:23 · 2168 阅读 · 0 评论 -
腾讯车图项目现在面试笔试题
tracyweili 19:50。 8.2号合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums1与nums2合并,并最终输出一个有序数组输入:nums1 = [1,2,3],nums2 = [2,5,6] 输出:[1,2,2,3,5,6]tracyweili 19:54给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。输入:nums = [2,...原创 2021-08-16 21:07:32 · 149 阅读 · 0 评论 -
Python 函数装饰器
装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。大多数初学者不知道在哪儿使用它们,所以我将要分享下,哪些区域里装饰器可以让你的代码更简洁。 首先,让我们讨论下如何写你自己的装饰器。这可能是最难掌握的概念之一。我们会每次只讨论一个步骤,这样你能完全理解它。一切皆对象首先我们来理解下 Python 中的函数:def hi(name="yasoob"): return原创 2021-08-03 23:42:05 · 115 阅读 · 0 评论 -
python初学遇到的问题
当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。1)忘记在if,elif,else,for,while,class,def声明末尾添加 :(导致 “SyntaxError :invalid syntax”)该错误将发生在类似如下代码中: 1 2 ifspam ==42 print('Hello!') 2)使用 = ...转载 2021-07-31 23:50:29 · 251 阅读 · 0 评论 -
python 中 r 加在字符串前后的区别
在打开文件的时候open(r'c:\....')加r和不加''r是有区别的'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子在字符串赋值的时候 前面加'r'可以防止字符串在时候的时候不被转义 原理是在转义字符前加'\'例:s=r'\tt'print(s)Output:'\tt's='\tt'print(s)Output:' t'在Python的string前面加上‘r’...原创 2021-07-31 23:41:14 · 420 阅读 · 0 评论 -
转盘选择器WheelView 的控件滑动选择操作
上面的图片是在做app自动化的时候遇到的问题,整个的蓝色阴影部分是一个自定义的view, 有id ,但是其中的选项无法定位。但是尝试了几个定位的工具和方式,最终确定目前最合适的方式是 根据坐标来定位。def swipe_up(self, driver, t=500, n=3): s = driver.get_window_size() x1 = s['width'] * 0.5 # x坐标 y1 = s['height'] * 0.90 # 起点y坐标 y2 = s['height'] * 0.25 # .原创 2021-06-15 17:07:15 · 639 阅读 · 3 评论 -
掌握三种测试报告的写法是怎么样的体验呢?
在自动化测试的项目中,我们最后批量执行case 的时候,最终整理汇集为网页版的测试报告使用邮件发给上级,有各种方法的哦!开门见山哦,有三种方式可以试下哦。1、编写测试用例- 接口自动化的用例- web自动化的用例- app自动化的用例借助测试框架去写:unittest pytest2、执行测试用例- 可以使用pycharm直接去运行(没有测试报告)- 使用unittest自带的运行方式去执行(只能生成文本格式的报告)(重点) - 可以通过一些第三方库去生产测试报告3、生成测试报告原创 2021-05-27 17:07:07 · 106 阅读 · 0 评论 -
自动化中支付软件的支付键盘定位问题,看过这篇文章少走许多的弯路!
前提背景:需要测试某个app的真实环境下的支付功能,首先测的是微信的支付,点击微信中的立即支付,弹出输入密码的键盘,手动操作的不提,咱们使用脚本写的话,估计问题多多哦。一开始我使用的是appium 自带的inspector ,试了几次都不好使,换个uiautomator viewer 还是进不去,页面都是无法刷新到定位界面。找人问了一下,建议我使用坐标定位的方式,获取到屏幕的尺寸,大约估计,原想着屏幕能截图,谁知道哦,根本不支持截图,录屏更不好使用(黑屏幕)。机缘巧合在网上看到的driver.keye原创 2021-05-16 12:48:13 · 695 阅读 · 11 评论 -
面试题:Python中迭代器和生成器的区别
迭代器与生成器的区别:(1)生成器:生成器本质上就是一个函数,它记住了上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用,跳转到函数上一次挂起的位置。而且记录了程序执行的上下文。生成器不仅“记住”了它的数据状态,生成还记住了程序执行的位置。(2)迭代器迭代器是一种支持next()操作的对象。它包含了一组元素,当执行next()操作时,返回其中一个元素。当所有元素都被返回后,再执行next()报异常—StopIteration生成器一定是可迭代的,也一定是迭代器对象(3)区原创 2020-11-22 17:08:26 · 1128 阅读 · 0 评论 -
获取两个字符串的最大公共子串
1.思路 先找到每个字符串的所有的子串,存放到集合中2.两个集合求交集 intersection3.然后找到交集中 最长的那个元素第一步中是求字符串公共子集的方法def son_str(s):#s = ‘abcab’list1 = list(set(s[i:j]for i in range(len(s))for j in range(i, len(s) + 1)))print(list1)return set(list1)第二步骤定义的两个集合,使用intersection 生成公原创 2020-11-22 12:27:30 · 1533 阅读 · 0 评论 -
函数和方法的区别(python)
简单总结:与类和实例无绑定关系的function都属于函数(function);与类和实例有绑定关系的function都属于方法(method)。函数(FunctionType)函数是封装了一些独立的功能,可以直接调用,能将一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。可以直接在模块中进行定义使用。 所有传递给函数的数据都是显式传递的。方法(MethodType)方法和函数类似,同样封装了独立的功能,但是方法是只能依靠类或者对象来调用的,表示针对性的操作。方法原创 2020-11-21 11:46:38 · 590 阅读 · 1 评论 -
python不使用第三变量交换两个变量的值
交换变量的值这个可能是很多人不屑一顾的哦但不同语言方式不同哦例如我开始学的是C,JAVA 语言的,特别的麻烦哦例如方式一:int a = 5;int b = 8;a = a ^ b;b = a ^ b;a = a ^ b;优点:不需要创建第三个变量;缺点:只能交换数值,不易理解。方式二:通过两数相加转移数值:int a = 5;int b = 8;a = a + b;b = a - b;a = a - b;优点:不需要创建第三个变量;缺点:可能会损失精度,只能交换数值,不原创 2020-09-19 21:35:35 · 2479 阅读 · 0 评论 -
python中字符串的拼接方式你知道几种?
在python中我们常用的数据类型str 占用的比例是比较多的哦。但是你知道有几种方式吗?第一种哦,拼接的同为字符串的时候可以直接使用+,这点不同个别语言如Java,也是可以直接拼接的,但是python要求都必须是字符串才行哦,例如java中 “csdn”+123 , 结果是csdn123 , “csdn”+True 就是cddnTrue ,java中的jvm 内部是有一个转化的哦,python 没有转换的功能哦!第二种就是,直接连接就行了哦,print(“CS”“DN”)第三种是 ,逗号拼接原创 2020-09-12 20:34:12 · 640 阅读 · 0 评论 -
Python中的bool类型占用的空间是多少?
很多人认为在python中,bool类型数据占用的空间不论值是True和False是一样的,其实哦,先看下下面的代码`对比就知道不一样了哦!原创 2020-09-08 11:58:33 · 1219 阅读 · 0 评论 -
python中的数据占用的内存空间二
python中像字符串,列表,元组tuple,字典dict,集合set占用的内存空间都是变化的哦,比如说str="123"和str=“122222” 占用的内存空间就不同哦,和基本的数字类型,bool类型,None空值不同哦,看下面的代码哦`import sysa1=() # 没有元素的时候占用的空间也是比较大的哦b1=[]c1={“a”:12}d1={23,34}print(’>>>>>>>>>>>>>>原创 2020-09-08 11:42:30 · 1118 阅读 · 0 评论 -
python中基本数据结构占用内存空间的知识点一
我们知道python中的基本数据类型有数字类型,bool类型,None空值类型,字符串类型,但是在内存中都是有占用空间的,其中字符串类型占用的空间是可变的,其他的都是固定不变的,比如a=12, 和a=1200占用的内存空间是一样的。`import sysa=1000b=1.590c=3+2jd=“str111”e=Truef=Noneprint(f"整数{a}在内存上占有字节空间是:",sys.getsizeof(a)) #28个字节print(f"小数{b}在内存上占有字节空间是:",sy原创 2020-09-08 11:33:52 · 934 阅读 · 0 评论 -
再次讨论1元买水问题哦,使用迭代法java和python版本
本次是使用的java语言测试的哦,抽离出一个方法!具有推广下来的建议哦!package cn.gson.oasys;import java.util.Scanner;public class DrinkWater {public static void main(String[] args) {buy(20);}public static int buy(int money) {// System.out.print(“请输入金额:”);// int money = scan.nex原创 2020-09-04 17:14:07 · 794 阅读 · 0 评论 -
1元1瓶水2个空瓶换一瓶水,20元可以最多喝多少瓶解析
@[使用迭代和递归的方式```py# def f1(pay):money = 1sum = 1while money < pay:money = money +1sum = sum + 2return sum#for i in range(1,21):print(f"{i}元可以喝{f1(i)}瓶水")解析 1元喝一瓶,2元可以喝3瓶,3元呢,当于2元的基础上增加了1元的购买量,隐形的增加了1瓶水,喝过后是多了一个空瓶每次多花一元就比原来多喝两瓶def f(money):if原创 2020-09-01 20:45:00 · 1763 阅读 · 0 评论