自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 pytest基本用法总结

参考官方文档:https://docs.pytest.org/en/stable/contents.html#toc1、安装命令行pip install pytestpycharm安装下载pytest包,python setup.py install2、start先创建一个简单的用例:def func(x):return x + 1def test_answer():assert func(3) == 5注意:用例的名字必须是test开头,如果写在类里面则需要类以Test开头命名:查

2020-08-18 19:30:02 4051

原创 python之多进程

多进程:multiprocessing模块multiprocessing模块提供了一个Process类来代表一个进程对象def run_child(name):print(“this is a child process %s (%s)”%(name,os.getpid()))if name==“main”:p=Process(target=run_child,args=(‘test’,))print(“Parent Process %s”%(os.getpid()))p.start()p

2021-04-05 23:06:58 251 1

原创 夜神模拟器adb连接不上问题

之前在网上下载和调整了夜神模拟器,用了一段时间出现问题卸载重装又捣鼓了一会,还是打算记录下来。1、下载夜神模拟器我是直接在360软件管家直接下载安装2、安装完成后把夜神模拟器的安装路径加入到path环境变量,启动环境变量–类似C:\Program Files (x86)\Nox\bin3、此时cmd 进行adb devices发现没有显示设备?然后发现到目录C:\Program Files (x86)\Nox\bin进行cmd执行nox_adb.exe devices则显示设备直接adb则显示

2020-11-05 20:39:41 585

原创 python2代码转换为python3代码

python2.x代码快速转换为python3.x代码转换方法:1、先进入python3.x安装程序路径Python38\Tools\scripts,我本地安装路径如下:C:\Users\18566\AppData\Local\Programs\Python\Python38\Tools\scripts路径下有py文件 2to3.py2、在路径框输入cmd,回车会进入命令行,此时路径直接进入该文件路径3、命令行输入python 2to3.py -w F:\CGI_Mstar。其中-w为指定目

2020-10-27 14:11:38 599 2

原创 JSON-python 使用

json是一种轻量级的数据交换格式。使用JSON先导入json库:import json点击json进入,查看源码里面的示例如下:Encoding basic Python object hierarchies::>>> import json>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])'["foo", {"bar": ["baz", null, 1.0, 2]}]'>>>

2020-08-17 17:28:33 211

原创 Python dir() 函数-记录

dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。...

2020-08-11 10:42:39 143

原创 python内置装饰器

1、@propery将方法变为一个属性使用,访问时直接通过方法名来访问方法,不需要在方法名后添加"()">>> class info:... def __init__(self,name,address):... self.name=name... self.address=address... @property... def myName(self):... print(se

2020-08-10 17:24:49 164

原创 类里面装饰器的使用,args[0]=self

针对函数和类单独写装饰器可以理解了,请参考往期文档。之前写了一个类,然后想把装饰器实现的函数也写在类里面,在类方法加上装饰器,之前一直报错。现在解决了,就是类里面的参数第一个self,所以一定要注意self参数。实现例子如下:class action: def __init__(self,name,gender,address=None): self.name=name self.gender=gender self.address=addre

2020-08-08 20:39:44 310

原创 logging的理解和使用一

#参考官方文档----一、logging基本使用1、logging概述logging是软件运行过程中跟踪一些时间发生的一种手段,软件开发会在软件的一些特定时间发生后在代码中添加log,此时会调用logging。日志里面对这个事件信息进行描述,可以包含一些变量数据,具体信息由自己定义。这些事件也存在一定的严重程度,这些也是由开发者赋给事件的严重性,即会有一个时间的Level表示不同严重级别的事件。2、什么时候会用到logginglogging提供了一系列的functions供使用,例如debug(

2020-08-08 19:20:39 41106 3

原创 python装饰器理解(一)

1、不带参数的装饰器写一个函数或者类或者方法,记为name1.运行的业务函数作为name2@name1def name2():…return xx这样运行的时候并不是直接运行name2,而是把name2作为参数传入name1进行执行。比如现在有很多业务,需要在执行前后开始加打印:def warpper(func): def log(*args,**kwargs): print("现在开始运行了") print(func.__name__)

2020-08-04 19:42:59 154

原创 type动态创建类理解

查看python里面type函数,点击进去之后源码:def __init__(cls, what, bases=None, dict=None): # known special case of type.__init__ """ type(object_or_name, bases, dict) type(object) -> the object's type type(name, bases, dict) -> a new type # (copi

2020-08-04 18:49:41 309

原创 python函数中:和->的作用

参考文档:https://www.python.org/dev/peps/pep-0484/函数的形参中可以加:定义形参的类型,好处是python可以根据定义的类型自动引用方法,实际上不会对类型做检查,但是如果形参类型在函数内部不同可能会导致函数运行错误。->则表示函数返回的类型是什么类型,实际上也是不做检查的def function1(a:int,b:int)->s return a+b print(function1(1,2)) p

2020-08-04 17:26:31 1287

原创 appium测试安卓app记录

一、基本概述appium的核心是暴露的一系列REST API的server。server监听一个端口,接收由client发送来的command,翻译这些command转换为移动设备可以理解的形式发送给设备,移动设备执行完这些command会把执行结果返回给appium server,appium server再把执行结果返回给client。client即发送command的设备,即client是发送代码的客户端,代码可以是java/ruby/js,只要实现了webdriver标准协议就可。1.1 s

2020-07-31 16:30:12 1218

原创 yaml UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xba in position 15: illegal multibyte sequen

yaml UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xba in position 15: illegal multibyte sequenceyaml读取文件报上述错误。解决办法,二进制读取。with open("…/xx.yaml",‘rb’) as f:yaml.safe_load(f)

2020-07-29 16:32:26 869

原创 locals()返回当前范围内的变量,以字典的格式返回

遇到场景根据一些业务生成参数,但是实在不想一个一个的写,然后就搜索了一下,果然有这么个函数可以,就是locals(),话不多说,看示例,记录下:源码:def locals(*args, **kwargs): # real signature unknown """ Return a dictionary containing the current scope's local variables. NOTE: Whether or not updates to this

2020-07-21 10:49:13 276

原创 DeprecationWarning: use options instead of firefox_options,在firefox里面添加option警告

class MemberManage: def __init__(self): options=webdriver.FirefoxOptions() options.debugger_address="127.0.0.1:9922" self.driver=webdriver.Firefox(firefox_options=options) self.driver.implicitly_wait(5) self.driv

2020-07-20 11:03:26 1449

原创 不断down掉无线网卡查看网卡能重新获取IP

最近测试wifi,想看一下异常情况比如wifi网卡down掉是否可以重新获取,次数太少没有说服力,所以就打算写个小脚本在系统上运行,linux很多命令好久没用了,很是生疏,参考了一些网上资料,代码如下:testWlan0Down.sh#!/bin/shping -c 1 -w 5 192.168.233.1 && ifconfig wlan0 downifconfigecho " wlan0 down now!!!!!!!!!!!!!!!!!!!!!!!!!!"count=0w

2020-07-03 17:07:04 638

原创 sys.argv

sys.argv指的是外部参数,命令行运行.py文件时,argv[0]指的是文件本身,argv[n]指的是第n个参数举例说明:文件testSysArgv.pyfrom sys import agrvprint(agrv[0])print("*************************")paraLen=len(agrv)for i in range(paraLen): pri...

2020-04-26 16:15:34 320

原创 库初始化文件__init__.py其实工作作用类似类初始化__init__(self)

库初始化文件__init__.py其实工作作用类似类初始化__init__(self).类的初始化函数__init__.py就是每次实例化类的时候都会进行调用。文件夹里面如果包含了__init__.py文件就会识别为一个库(lib),当其他文件进行导入这个库的时候就会运行__init__.py举例说明:比如先创建了如图目录:testTmp下__init__.py内容如下:#codin...

2020-04-07 15:34:59 448

原创 __all__解读

在很多源码里面都看到__all__=[var1,var2,var3]类似的定义,这个会影响到导入模块的范围比如文件a.py__all__=['a1','b']a1=1def b(): print("b")c=3#文件b.pyfrom testTmp.a import *print(a1)print(b())print(c)运行结果:```Traceback (most ...

2020-03-26 17:28:24 316 1

原创 python中可变对象和不可变对象

关于python中的对象是否可变是否不可变,第一步先了解一下python变量在内存中的存储逻辑(python中变量的地址有点像C语言中的指针):python里面变量赋值之后会对值得引用有一个计数,当计数为0得时候就进行垃圾销毁。至于引用计数怎么为0,如下例子就是:a=5b=6a=6a重新赋值之后指向的是6,此时对象A之前的引用5已经引用为0,就会被销毁对象A和对象B现在的id值应...

2020-03-26 11:47:42 270

原创 类的继承和类的初始化

父类 子类class A: para1="para" def __init__(self,name,name1): self.name=name self.name1=name1 def function1(self): print("function1") def functon2(self): print("function2") def function3(s...

2020-03-25 18:43:50 358

原创 ddt数据驱动测试(类似parameterized)

__author__ = 'Administrator'#coding=utf-8import timeimport unittestfrom selenium.common.exceptions import NoSuchElementExceptionfrom Page.P2PPage import *import data.UserDatafrom parameterized ...

2020-03-25 17:30:45 884

原创 parameterized扩展测试用例,数据驱动测试

#coding=utf-8import timeimport unittestfrom selenium.common.exceptions import NoSuchElementExceptionfrom Page.P2PPage import *import data.UserDatafrom parameterized import parameterizedfrom Com...

2020-03-25 14:50:47 747 2

原创 下载的HTMLTestRunner.py,修改浏览器打开报告显示截图报错,文件里面javascript写错导致

1、用HTMLTestRunner.py运行并生成报告,结果点击显示截图:如图浏览器的地址其实已经告诉我们这个网址无法理解javacript:void(0);其实可以看出是javascript写错了,去htmltestrunner.py文件修改过来就可以了,其实点击浏览器上的返回按钮截图也出来了(目前还没理解为啥,看来还是有必要去读一下源码,虽然我这三脚猫功夫不咋滴—||)。如上图(没...

2020-03-23 16:06:29 303

原创 unittest使用assert之后截图一直没运行,assert断言结果是fail之后,该断言语句之后的语句是不会执行的

unittest使用assert之后截图一直没运行,assert断言结果是fail之后,该断言语句之后的语句是不会执行的。****使用了assert程序没报错误,导致我忽略了这个实际上是错误的。原来的代码:para_dst=[("April.first.Sunday.23","January.the second.Monday.0","0"),("December.the last one....

2020-03-20 11:40:19 798

原创 循环多次的测试,没有深入理解unittest的testcase运行机制导致的误解

testcase目录下20个文件,每个文件里面是每个模块的测试用例在mainrun函数里面加载测试用例suite=unittest.TestLoader().discover("testcase")ReportFileName=str(time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())))+".html"if "__...

2020-03-18 15:55:56 1150

原创 获取网页源码的某个值来操作网页,get_attribute("outerHTML")结合sqlit函数

有时候网页有一些缓冲图标,不知道缓冲图标啥时候结束,后来发现一般情况下网页缓冲的时候,其他页面都不可操作,其他网页不清楚,我测试的网页发现有一个id的disable属性可以判断网页是否缓冲完毕,但是这个id又不能定位,但是存在在源码里面。具体的网页信息如下:获取当前dispaly的值来判断test是否结束,结束的话值为none(控制网页是否可操作的一个id)TestEndTextJuge=s...

2020-03-18 15:18:02 1206

原创 python web selenium关于try except结合traceback使用(欢迎指正!)

traceback导入import traceback测试用例写法如下:class test_CameraT(unittest.TestCase):action=TimeSet()def setUp(self):# 测试固件的setUp()的代码,主要是测试的前提准备工作warnings.simplefilter(‘ignore’,ResourceWarning)# self...

2020-03-18 15:07:15 369

原创 python数据缓存导致数据不能及时更新(菜鸟,仅供参考,欢迎指正!)

python数据缓存导致数据不能及时更新欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:...

2020-03-18 14:49:46 875 1

原创 python--关于configParser读取配置文件,options会变成小写的解决办法,类的重写???

关于configParser读取配置文件,options会变成小写的解决办法: 解决方案: 第一种解决法案是改源码,直接将def optionxform() 函数中‘.lower()’去掉: def optionxform(self, optionstr): return optionstr 此种解决方案的不足之处是只能在本机生效,换台机器就会出问题。 第二种解决方案是...

2018-06-26 18:55:15 3556

转载 成员变量和类变量的区别

由static修饰的变量成为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。 不同的对象的是实例变量将被分配不同的内存空间,如果类的成员变量有类变量,那么所有都对象的这个类变量都分配给相同的一处内存(?什么叫做类的成员变量有类变量?),改变其中一个对象的这个类变量会影响到其他对象的这个类变量。也就是说对

2017-11-12 17:30:05 3596 1

翻译 java包-java的import和简单例子

java包-java的import和简单例子包主要用来对类和接口进行分类 。当开发java程序时,可能编写成千上百的类,因此很有必要对类和接口进行分类。 在java中,如果给出一个完整的限定名,包括包名和类名,那么java编译器就可以很容易的定位到源代码或者类。import语句就是用来提供一个合理的路径,使得编译器可以找到某个类。 例子: import java.io.*; —–

2017-11-12 15:39:02 2423 1

转载 具体的一个实例,展示如何访问实例变量和调用成员方法

public class Puppy{    int puppyAge;    public Puppy(String name){        System.out.println("小狗的名字:"+name);    }    public void setAge(int age){        puppyAge = age;    }    public

2017-11-08 19:46:25 2147

转载 java中的对象和java中的类--01

软件对象也有状态和行为。软件对象的状态是属性,行为通过方法实现。在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成的。类可以看成是创建java对象的模板。通过下面一个简单的类来理解java中类的定义:public class Dog{    String breed;    int age;    String color;    v

2017-11-08 14:21:40 141

翻译 java中类和对象的图形化理解,简单明了

2017-11-08 11:58:16 434

翻译 java基础语法-1

对象:对象是类的一个实例,有状态和行为。例如一条狗是一个对象,有各种状态和行为。类:类是一个模板,描述一类对象的行为和状态。方法:方法就是一个行为实例变量;每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。一个java程序可以认为是和一系列对象的集合,这些对象通过调用彼此的方法了来协同工作。实例:publicclassHe

2017-11-08 11:49:52 164

翻译 正式学习java并安装配置开发环境之前,了解一些java的专业术语

--JDK ,java development kit:编写java程序的程序员使用的软件--JRE,java runtime enviroment:运行java程序的用户使用的软件--Server JRE,java SE runtime enviroment:服务端使用的java运行环境--SDK,software development Kit:软件开发工具包,在java中用于描述

2017-11-08 10:52:08 162

原创 string[] args是什么鬼?

public class Test {    public static void main(String[] args) {        System.out.println(args[0]);    }}保存为Test.java,编译javac Test.java,运行->java Test runoob,运行结果是:runoobmain是一个程序的入口,一个java

2017-11-07 15:39:19 979

原创 运行helloworld.java出错记录

程序:      /** * @(#)Text1.java * * * @author  * @version 1.00 2017/11/6 */public class helloWorld {    public static void main(string[] args) {     system.out.println("Hello World

2017-11-07 10:08:36 2981

空空如也

空空如也

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

TA关注的人

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