编程技巧
我不是庸医
软件测试好多年,决定坚持下去,做个老测试
展开
-
python--问题排查--AttributeError: ‘NoneType‘ object has no attribute “xx“
这个是python代码协作时的常见错误一般在错误这行,是个“空“对象none,不是你想象中的yy对象,当然没有xx属性了我们在编程时,尽量增加“异常处理“的实现,提前想一下是否会有各种异常值,处理比如代码:cc = bb.get('response_list').get('body').get('response')[0].get('body').get('admin_auth').get('sessionid')执行报错:AttributeError: 'NoneType' obje原创 2020-08-06 11:10:49 · 7674 阅读 · 0 评论 -
程序异常--常见类型--linux系统--系统core
未使用合法内存你的进程,要去写一个空指针,也就是null,本质上就是0,线性地址空间的0页,cpu 设计时实现了0页故障,从而进入相应的内核处理例程再一个:写一个内存地址,如果这个地址,物理内存没分配,并且不符合page fault的条件,内核就会报故障数组越界,操作了不属于你的变量的内存,在某些情况下,会导致数据错误,会死掉内存使用规范类还有 bus err...原创 2020-03-24 15:14:31 · 224 阅读 · 1 评论 -
AI-机器学习-森林随机算法-验证码实战实例
注意本文纯粹给未接触过机器学习的同学看到,高手请绕路背景本人接触了一个项目,需要登录web系统。使用robotframework + python 做自动化测试,发现开发同学设置了验证码,首页面根本就没法登录啊,而且还是变形的,使用基本的python库识别效果不好。于是本人查询了多位大侠的网站和文章,发现识别没有这么难,只是写的还不够白,所以我这次写的白一点,让大家看的更清楚一些。...原创 2020-01-22 13:30:31 · 1003 阅读 · 0 评论 -
python--list格式的字符串转化为list格式
import jsondata_list = json.loads(data_list_str)import astdata_list = ast.literal_eval(data_list_str)以上两种方法都可以,实测,第一种速度比第二种快很多原创 2020-01-19 11:31:23 · 865 阅读 · 0 评论 -
python-排错--unindent does not match any outer indentation level
pycahrm直接报错了IndentationError: unindent does not match any outer indentation level这类基本都是语法错误仔细观察图片,疑似左侧“土绿色”有点问题,原来是不知道,tab怎么被换成了错误的字符python这点有点头大,不需要空格缩进,pycarm可以使用tab,但是这次却出现了错误,原因未知解决办法,...原创 2020-01-19 11:06:35 · 311 阅读 · 0 评论 -
window--设置--让指定的文件夹内的文件区分字符大小写,字母大小写敏感设置
三条缺一不可第一步开启功能:第二:powershell第三PS C:\Windows\system32> fsutil file setCaseSensitiveInfo C:\sample enable原创 2020-01-17 18:48:11 · 2120 阅读 · 0 评论 -
robotframework--SSHLibrary--read时间参数设置合适的值
此贴纯粹是记录用sshlibray的read命令有时很好用,尤其是ssh'返回部分显示,或则大量显示时,原有的wait until方法不适用只能自行返回判断SSH的命令值设置多少合适,read dealy=0.5s,适用于大多数情况,不能再低了,再低,会有功能问题此值设置的比较高,是安全的,但是会带来性能问题,如果ssh回显过多,delay值过大会严重影响性能...原创 2019-11-28 15:20:37 · 1008 阅读 · 0 评论 -
windows--cmd--杀掉相关名字的全部进程
如下方法可以用来杀掉,全部的chromedrvier和pythonTASKKILL /F /IM chromedriver.exe /TTASKKILL /F /IM python.exe /T很多运行自动化程序不正常,是因为这两个搞的鬼,可以执行前把这些都干掉...原创 2019-11-08 14:25:49 · 2378 阅读 · 0 评论 -
python小白系列------python错误 'str' object is not callable
一般常见情况是,使用str()时候,报错了,原因大多数是你的程序中,定义了str的变量或对象,导致系统的str的str被覆盖了检查一下自定义的变量和对象和函数,要养成好习惯,变量名称尽量复杂和清晰...原创 2019-07-08 10:22:19 · 3305 阅读 · 0 评论 -
tcp sequece和ack小白日记
sequence是本地当前的标识字节数,从0开始居多ack是确认号,收到的来之对断的包的sequece+payload字节数(翻译过来,就是我收到很多,期待下次收到你的报序号)Expert Info (Warning/Sequence): ACKed segment that wasn't captured (common at capture start)这种错误是序列号ack...原创 2019-06-26 16:08:08 · 3445 阅读 · 0 评论 -
DNP3理解小白书-1
协议分层:1、数据链路层 屏蔽(隔离)物理层或其它“伪物理层”,例如TCP,UDP,连接和无连接“物理层”,DNP3都可以支持,让使用数据链路层的更高层 可标识链路状态 传输大量的用户数据 其中的上层load部分被作为数据块形式组成data1 crc1 data2 crc2 这样2、传输层 承上启下 把链路层的的...原创 2019-06-25 16:42:59 · 3037 阅读 · 0 评论 -
python---list--bool变量会被默认转换为int,从而作为索引使用
a,b,c=1,2,3print (['A','B','C'][a<b])print(int(True))print(int(False))B10原创 2019-08-16 11:51:13 · 1402 阅读 · 0 评论 -
tcpreplay使用的自我记录
有一个正常的DNP3报文,修改端口号带非标准端口,再通过tcpreplay使其满足回放条件原始包名字是dnp3_0x01.pcap先替换下端口号tcprewrite --portmap=20000:30000 -c dnp3_0x01_new.pcap.cache -i dnp3_0x01_new.pcap -o dnp3_0x01_ns.pcap1、先做切分tcppr...原创 2019-06-19 16:30:05 · 248 阅读 · 0 评论 -
robotframe填坑,导入python,py的库,红色的
查询ride logTraceback (most recent call last):'UserErrorHandler' object has no attribute 'library'完全不知所以然最后修改了文件名字,解决了竟然,不再深究了原创 2019-06-27 18:44:51 · 3765 阅读 · 2 评论 -
python--robotframe--RIDE run的时候,IDR下方是中文乱码问题
目标:修改办法是:C:\Users\user\AppData\Local\Programs\Python\Python37\Lib\site-packages\robotide\contrib\testrunner\testrunnerplugin.py原创 2019-08-14 14:47:14 · 584 阅读 · 0 评论 -
python-robotframe-传递list参数时的注意事项
同一个变量:在程序中@和$可以相互转换在for in 中,使用@如果是log ,使用$如果是传递一个list变量(非可变参数)给keyword,keyword参数使用,定义和传参需要使用$否则到了keyword中,会被list嵌套[[]]这种距离,应该按按照如下方法传list...原创 2019-08-14 15:02:31 · 1538 阅读 · 0 评论 -
python--and和or--语言使用中的顺序问题
print(2 and 0)print(0 and 2)print(2 and 2)print(2 or 0)print(0 or 2)print(0 or 0)002220and,如果没有碰到假,就一直继续,遇到假则停止or,如果没遇到真,就一直继续语句执行,知道遇到真为止a,b,c=1,2,3print((a<c) and b or c)...原创 2019-08-16 11:45:08 · 1770 阅读 · 0 评论 -
python--ifelse--标准简写方式
print("存在" if id in list else "不存在")原创 2019-08-16 11:53:09 · 2618 阅读 · 0 评论 -
python---如何让A+3 得到D的方法,提供一个字母和数字能相加的办法
如过当前是A按顺序查,3个之后应该是D如何实现目标:给出A和3,得到D方法很多,不想使用list对应的办法,预先存好A和D我的是实现是使用utf8码加3的方式实现的,这样比较灵活...原创 2019-08-28 11:58:39 · 812 阅读 · 0 评论 -
python多进程填小坑
import osfrom multiprocessing import Processclass A: def execute(self): for index in range(2): p1 = Process(target=self.process_task, args=("test",)) p1.sta...原创 2018-07-24 17:34:04 · 409 阅读 · 0 评论 -
xshell5后期版本,字体不显示颜色了,修正思路
1、首先我喜欢ls --color -l ,还是比较好看的,要下面的效果2、修改vi ~/.bash_profile3、source ~/.bash_profile4、执行ll原创 2019-05-28 19:51:56 · 3179 阅读 · 0 评论 -
python 交互命令行解释器退出
正常模式是exit()如果进入了help(),需要先按ctrl+c原创 2019-03-14 19:00:49 · 3074 阅读 · 0 评论 -
python 填坑 ModuleNotFoundError: No module named '__main__.XX'; '__main__' is not a package
python3版本from .XX.logger import LoggerModuleNotFoundError: No module named '__main__.XX'; '__main__' is not a package from .output.logger import Loggerfrom .output.logger import LoggerModu...原创 2019-02-19 14:59:59 · 51044 阅读 · 4 评论 -
python3 编程遇到的找不到module的坑
使用pycharm做的项目,使用from语法 from automationtest_frame_new.output.logger import Loggerpython3需要使用项目当前目录的绝对路径,来写,写全,例如:上面automationtest_frame_new,其实pycharm工程根目录的子目录,这样,在pycharm里,就可执行了 然后在,cmd里,执...原创 2018-08-07 16:54:50 · 15114 阅读 · 0 评论 -
使用if语句,在mocha jwebdriver的加入判断逻辑分支,实现,根据元素状态是否存在,进入不同的分支逻辑
let driver, testVars, exiserror = "first"; before(function(){ let self = this; driver = self.driver; testVars = self.testVars; }); it('url: https://{{DUT1_MGT_IP...原创 2018-07-25 09:49:05 · 682 阅读 · 0 评论 -
python的多装饰器简单理解
def outer(func): print("……外层装饰器开始运行……") def 外层(): print("外层装饰功能1") func() print("外层装饰功能2") print("……内层装饰准备好,功能和函数('外层装饰功能1',func('内层装饰功能1',func(),'内层装饰功能2')',外层装饰功...原创 2018-07-25 09:47:57 · 179 阅读 · 0 评论 -
ModuleNotFoundError: No module named '__main__ 解决办法
我遇到的这个问题,是发现的目录层级关系引用的不对我使用的是python3A目录 包1 文件3.py 包2 文件1.py 文件1想使用文件3的东东 则需要:在文件1内:from A目录.包1.文件3.py import xxxx ...原创 2018-07-24 19:29:40 · 53662 阅读 · 10 评论 -
MBT测试实例:做个“机器人”,使其随机、持续的对“web页面”做交互性测试(二)涉及工具
本博文注重的是实例讲解,对于工具的使用说明制作简单介绍,如果需要详细了解工具的,请找对应的官网进行查阅工具清单:PC server一台--用于跑跑graphwalkerPC 执行机一台--自动化脚本执行待测web对象--测试对象测试框架 robotframeworkyEd Graph Editor--MBT建模工具graphwalker--MBT模型遍历工具前三项比较简单,主要说下后三项工...原创 2018-05-31 11:44:15 · 3340 阅读 · 4 评论 -
robotframework使用python自定义“关键字”的两种方法:导入库(LIB)和导入模块(py文件)
1、导入库,需要把文件做成包的形式常见放置在,python主目录的 \Lib\site-packages下__init__.py好处是:适合大规模的开发,包有多人负责,分模块开发,无限扩展文件数量缺点是:统一归档相对麻烦2、导入文件,直接自定义一个py文件,里面将其直接导入即可个人推荐使用第二种方法,对于中小型应用,效率高,维护方便,放在任意目录都可以...原创 2018-06-06 11:53:22 · 12012 阅读 · 0 评论 -
python字符串的replace()方法,小提示,案例:去除一个字符串中的全部空格符号
with open(file) as f: data = f.read() data1 = data.replace(" ","") print data1[0:1000]#replace()并不直接修改data,所以要用data1来接收replace()的返回值,才能看到效果...原创 2018-05-24 17:44:47 · 3630 阅读 · 1 评论 -
python打开windows本地的“中文目录“”中的文件
# -*- coding: UTF-8 -*-file = "C:\Users\AppData\Docs\应用明细\应用明细_0514.txt".decode('utf-8').encode('GB2312')with open(file) as f: data = f.read() print data[0:1000]因为,windows是GB2312编码,所以作...原创 2018-05-24 17:36:30 · 7471 阅读 · 0 评论 -
uirecroder的webdriver驱动更换目录
npm run server使用drvier在这里默认安装情况下:C:\Users\你的用户名\node_modules\_selenium-standalone@6.15.4@selenium-standalone\.selenium\具体driver路径替换驱动,名字保持一致即可selenium的webdriver下载地址http://chromedriver.storag...原创 2018-11-23 11:30:45 · 481 阅读 · 0 评论 -
如何设置页面加载超时时间,robotframework+selenium实现
如何设置页面加载超时时间,robotframework+selenium实现,设置浏览器的超时时间,自身加载页面的超时时间有些测试,使用的方法是如下场景,例如:访问google超时,由于无法访问,想在10秒内退出,要不然可能登登上1分钟以上我们想加快这个进度,使用selenium的set_page_load_timeout()就可以了但是robotframe的seleniu...原创 2019-01-03 14:21:27 · 2261 阅读 · 0 评论 -
uirecorder里使用config.json里的变量的用法举例
json文件里的变量IP:"1.1.1.1"await driver.url(_(`https://{{IP}}`)); _(`https://{{IP}}`) 这个格式是引用一种方法原创 2019-01-30 16:44:46 · 941 阅读 · 0 评论 -
AttributeError: 'NoneType' object has no attribute 'name'
python 使用 reload 功能时,修改模块文件内容,执行到reload如上报错 File "C:\Python36-32\lib\importlib\__init__.py", line 166, in reload _bootstrap._exec(spec, module) File "<frozen importlib._bootstrap>", l...原创 2018-12-25 19:09:24 · 6782 阅读 · 0 评论 -
the imp module is deprecated
the imp module is deprecated python3最新版imp被importlib代替了 Python 3.4之后不再支持原创 2018-12-25 17:07:51 · 3520 阅读 · 0 评论 -
centos7 中启动chrome时无法启动的问题,打开chrome,没反应,自行关闭
[root@localhost bin]# /usr/bin/google-chrome[8239:8239:1230/172329.621009:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180. ...原创 2018-12-30 17:54:17 · 8452 阅读 · 0 评论 -
pycharm小技巧:快速选中一行
copy 粘贴代码,快速选择pycharm里的一行双击选择一个单词“三击”是选择一行原创 2018-12-29 16:52:15 · 20881 阅读 · 1 评论 -
python程序,多个包文件场景下出现的bug排查记录
class a(b): a.function() AttributeError::object has no attribute class b里头有定义这个方法的经排查,原来拷贝代码错误,b的文件自身有问题 ,修正b问题是解决 夸包的程序一般报错都比较不直观,建议逐个包文件调试通过先 ...原创 2018-12-29 16:49:37 · 177 阅读 · 0 评论 -
robotframework在测试中实现动态的增加测试内容,使用纯robotframework自身语法实现
自动化测试有种场景是:用例跑起来了,想增加新的检查项或则配置,一般常见可能的操作是:1、通过动态定期检查一个脚本,或文件,执行文件里面的内容2、使用reload library方法,循环更新库,执行时,更新库的内容,变能实现执行用例时动态增加修改测试内容以上方法都需要借助,外部扩展实现,灵活度高,但是维护不方便,各种实现依赖于大量扩展的代码,本身robotframework自身的封装大...原创 2018-12-18 13:12:52 · 677 阅读 · 0 评论