测试开发入门篇环境管理编码规范项目结构
目录一、前提准备二、虚拟环境1。virtualenv的安装和应用2。pipenv的安装和使用3。导出虚拟环境为requirements。txt文件4。pipenv的相关使用命令5。需要在虚拟环境中起项目三、Python代码规范四、工程结构化
测试平台是做什么的?
测试开发研发的测试平台是给点点点的人用的,可以帮助我们做自动化测试、用例管理、报表生成等,提高测试工作效率。
例如用市面上的postman做的一些测试,不符合公司项目的实际。但是自动化测试平台可以根据公司实际项目需求做定制化开发。一、前提准备
Python环境:python3。7是python3里面目前最稳定的一个版本,3以上的版本都没有问题。
电脑:Windows10家庭版二、虚拟环境
Python虚拟环境的主要目的是:为了给不同的工程创建互相独立的运行环境。在虚拟环境下,每一个工程都有自己的依赖包,而与其它的工程无关。
不同的虚拟环境中同一个包可以有不同的版本。并且,虚拟环境的数量没有限制,我们可以轻松地用virtualenv或pipenv等工具来创建多个虚拟环境。
图片来自网络1。virtualenv的安装和应用(windows)安装步骤:
1。pip安装virtualenvpipinstallvirtualenv
2。pip安装虚拟环境管理包pipinstallvirtualenvwrapperwin(这个是windows下的管理工具)注意:如果是用的mac或者在linux上安装,直接pipinstallvirtualenvwrapper即可。
3。创建一个存放虚拟环境的目录(建议命名为。env或者。virtualenv,也可以叫其它名字,注意不要中文命名)。
4。配置环境变量(变量名:WORKONHOME,值:上面创建的目录路径)
查看电脑中的虚拟环境,输入workon,会显示所有的虚拟环境:
创建虚拟环境有一些命令,virtualenv的使用命令:
wokon列出所有的虚拟环境workon〔name〕进入指定的虚拟环境deactivate退出当前的虚拟环境mkvirtualenv〔name〕创建虚拟环境rmvirtualenv〔name〕删除虚拟环境
包安装:
虚拟环境中,安装对应的依赖包,进入虚拟环境直接使用pipinstall进行安装。mkvirtualenvppython3qatest
如果电脑里只安装了python3,那么直接输入mkvirtualenvqinghan
后面你看到多了这个虚拟环境名,创建虚拟环境后会自动进入虚拟环境里面。
先输入exit();再输入deactivate
进入某个虚拟环境,可以这样输入:例如workonqinghan
删除某个虚拟环境,可以这样输入:rmvirtualenvtester
输入piplist可查看当前电脑已安装的python相关的依赖包。
查看虚拟环境中有多少依赖包:
先输入workonqinghan再输入piplist
在qinghan这个虚拟环境中安装一个django包:pipinstalldjango
这个包在其它虚拟环境中是看不到的,独立隔开的。卸载包pipuninstalldjango使用virtualenv这个管理工具有个缺点:
安装django的时候,会把django相关的依赖包都安装下来。安装django的时候自带安装的pytz和sqlparse包,卸载的时候并没有卸载。2。pipenv的安装和使用
pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。
过去用virtualenv管理requirements。txt文件可能会有问题,Pipenv使用Pipfile和Pipfile。lock。
Pipfile文件用来记录项目依赖包列表,Pipfile。lock文件记录了固定版本的详细依赖包列表,查看依赖关系是十分方便。
支持python2和python3。支持mac,win,linux,在各个平台的命令都是一样的。各个地方使用了哈希校验,无论安装还是卸载包都十分安全。安装:pipinstallpipenv创建虚拟环境
第一步创建文件夹mkdirpy3env第二步进入文件夹cdpy3env第三步初始化虚拟环境pipenvinstall
创建好虚拟环境后会生成:一个Pipfile文件和一个Pipfile。lock。
项目提交时,可将Pipfile文件和Pipfile。lock文件一并提交,待其他开发克隆下载。
Pipfile。lock文件是通过hash算法将包的名称和版本,及依赖关系生成哈希值,可以保证包的完整性。Pycharm会自动定位到当前工程的路径下面:
我这里是前面已经安装过了。装好之后,不需要配置环境变量,直接就可以用了。
在工程里创建虚拟环境,直接在工程里面输入pipenvinstall
这里默认的是python37,所以使用默认的python37解释器创建虚拟环境。
pipenv管理模块和包
在虚拟环境中安装模块或者包pipenvinstall包名(注意在当前项目路径下执行以上命令)
通过dev指明只安装在开发环境中(开发环境是你当前开发的环境,生产环境是上线部署的实际环境)
pipenvinstallrequestsdev
安装包记录是在〔devpackages〕部分,或是〔packages〕部分。
在安装时,指定dev参数,则只安装〔devpackages〕下的包;若安装时不指定dev参数,只会安装〔packages〕包下面的模块。
卸载虚拟环境的模块包pipenvuninstall包名查看安装包及依赖关系pipenvgraph生成requirements。txt文件pipenvlockrdevrequirements。txt通过requirements。txt安装环境pipenvinstallrrequirements。txtpipenvinstall有3个作用:
1。当前路径下不存在虚拟环境,它就创建虚拟环境。
2。pipenvinstall相关模块名,比如pipenvinstallrequests那么它就是安装一个requests模块的意思。
3。urlhttps:pypi。orgsimple是国外源,需换成Python国内源:清华大学源https:pypi。tuna。tsinghua。edu。cnsimple
现在安装个包:pipenvinstallrequests
安装的时候,会默认把安装的包记录在〔packages〕下面:
如果想安装某个包只想在开发环境下用,不想放在〔packages〕下面,可以放在〔devpackages〕下面,可通过dev指定一下:
一个Pipfile文件和一个Pipfile。lock这两个文件,是用来记录当前环境下的相关的依赖包的,以及在服务器上恢复环境用的。
Pipfile。lock这个文件记录的更完整,比如在虚拟环境中安装了requests了,但是requests有依赖其它的包吗?那就记录在Pipfile。lock文件里面。Pipfile。lock这个文件不可随意修改!
Pipfile。lock文件这个记录的很准确很详细:
比如在这个工程下开发了一个项目,那么接下来要把这个项目部署到服务器里面,Pipfile。lock文件和项目代码一起传到服务器上面去。
在服务器上通过Pipfile。lock文件可以恢复当前开发的环境,通过对应的命令可以进行恢复。
在哪个路径下运行pipenv这个命令,那么就默认在哪个路径下面创建虚拟环境。
Pipfile文件中这里是可以修改的:
安装的包,要在服务器上用的话,那就装在〔packages〕里,如果只是开发环境用的话就装在〔devpackages〕
这个不用管什么意思。
要在class01day文件夹里面再创建一个虚拟环境,把Pipfile文件和Pipfile。lock文件复制过来。把项目上传到服务器的时候,同样也把这2个文件拿到服务器里面来。
比如服务器下面的工程是class01day,是服务器下面项目的一个路径。
在服务器下面恢复当前代码运行的环境,进入路径下面,运行命令pipenvinstall创建个虚拟环境就可以了。
注意:不是只复制这2个文件就行了啊。要把项目代码和这2个文件一起传过去。通过这2个文件可以把开发时候的所有的环境恢复到服务器上面。
查看当前虚拟环境下已经安装好的依赖包:pipenvgraph
开发环境里面的包是不会恢复进去的。
之前在test01文件夹下的Pipfile文件里手动添加的flask。
在把这2个文件复制到pythonck01文件夹下,恢复的时候会自动化安装〔packages〕下面的包。
也可以把〔devpackages〕的包恢复进来,输入命令pipenvinstalldev
pipenv这个工具比virtualenv强大一些。pipenv是对virtualenv的一个封装。
在环境里如果要卸载相关的依赖包,例如卸载requests。requests下面有4个相关的依赖包。
这里卸载requests,会把requests下面依赖的包也会进行卸载。而virtualenv卸载的时候只会卸载requests,requests对应的依赖它是不会卸载的。
卸载命令:pipenvuninstallrequests
一个虚拟环境只能装一个requests。
requests和依赖包的关系,requests是依赖这些模块实现的:
只能通过graph这个看,不能通过json文件看。
卸载requests后,它的相关依赖是保存下来了,这些包掉到外面来。
但是将这2个文件拷贝到服务器里面去,在恢复的时候,那么它所依赖的包是不会恢复进去的。
如果使用virtualenv这个工具,virtualenv也可以把虚拟环境导出来。
比如把requests卸载了,用virtualenv导出来的相关环境,去服务器上进行恢复的时候,requests虽然没有了,但是requests下面的依赖包也会恢复进去。
导出virtualenv相关的依赖包,可以导出一个requirements。txt文件,用的virtualenv肯定有这个文件。3。导出虚拟环境为requirements。txt文件
requirements。txt文件,里面记录了当前程序的所有依赖包及版本号。
其作用是用来在另一个环境上重新构建项目所需要的运行环境依赖。
导出当前环境到requirements。txtpipfreezerequirements。txt使用requirements。txt恢复环境pipinstallrrequirements。txt
拿到这个文件,也可以恢复到服务器上去。
pipenv可以通过Pipfile和Pipfile。lock文件进行环境恢复。也可以通过requirements。txt进行环境恢复。4。pipenv的相关使用命令
pipenvrm删除虚拟环境pipenvwhere列出本地工程路径pipenvvenv列出虚拟环境路径pipenvpy显示Python解释器信息pipenvgraph查看包依赖pipenvlock生成lock文件pipenvrm删除虚拟环境pipenvshell直接进入虚拟环境exit退出虚拟环境
pipenv是对virtualenv的封装。pipenv的底层还是virtualenv和pip实现的。pipenv集成了virtualenv和pip两个工具。
virtualenv只能通过requirements。txt进行环境恢复。
通过virtualenv,不用看当前所在的路径,通过命令操作所有的虚拟环境。
通过pipenv,这个命令只能操作当前所在目录下的虚拟环境。
删除完虚拟环境,Pipfile和Pipfile。lock文件以及文件夹不会被删除,需要我们手动来删除。
通过virtualenv创建的可以这样删除:rmvirtualenvfff
通过pipenvwhere列出当前虚拟环境所在的目录。
虚拟环境是存放在virtualenv下面的。查看当前虚拟环境存放在哪,输入命令pipenvvenv
卸载了某些包,可以通过pipenvlock这个命令重新生成lock文件。
现在这个lock文件是同步生成的。如果把lock文件删除了,可以通过这个命令生成lock文件。5。需要在虚拟环境中起项目
如果没进入虚拟环境,就没有相关的依赖包,启动项目就启动不了。三、Python代码规范1。pep8(python代码样式规范)
文档地址(中文):
https:blog。csdn。netratsniperarticledetails789548522。pep257(python文档字符串相关的约定):
文档地址:
https:github。comqiuxiangpepblobmasterpeps257。md3。pep20(python代码的理念):
文档地址:
https:www。python。orgdevpepspep0020
重点:
调整代码格式:CtrlAltL
注释:
模块和包相关规范:
图片来自网络
命名规范:
四、工程结构化
代码要写得简洁明了,项目里面的结构也得简洁明了,别人点开项目文件就知道哪个文件里面放的什么东西。结构介绍:
一个项目里肯定有其它的文件夹,但是一个项目里有这些文件夹,显得规范一些,哈哈哈。
倪言小柔软甜蜜收官95后氧气小花未来可期星关系11月6日讯由易恒、辛瑞琪、倪言、蔡宜达主演,以温暖成长为主题的青春校园剧《别碰我心底的小柔软》已于日前甜美收官。该剧故事短小精悍,网友好评不断;演员倪言塑造的角色楚路更……
电视剧走火持续热播多场景大场面还原铁警真实风貌《走火》持续热播多场景大场面还原铁警真实风貌由李小平、李小亭导演联合执导,李松编剧,李晓重原著,于毅、周放、高旻睿、王阳、张皓伦、白那日苏等领衔主演的四十集大型电视连续剧……
电视剧完美关系官宣黄轩佟丽娅成公关合伙人填补行业剧空白由华策集团金溪影视出品,叶昭君担任制片人,安建执导,右耳编剧的国内首部公关题材电视剧《完美关系》正式官宣,黄轩饰演资深公关人卫哲,佟丽娅饰演公关新人江达琳,两人组成公关合伙人,……
电视剧走火谭阳扮演者高旻睿个人资料电视剧《走火》是由于毅、周放、高旻睿等人领衔主演,将于6月6日登陆浙江卫视播出,该剧以青年警察的成长为主线,讲述了都市青年干警的生活、爱情、挫折、成长的故事。新生代演员高旻睿在……
电视剧来到你的世界将播二次元与三次元碰撞新火花《来到你的世界》将播二次元与三次元碰撞新火花奇幻爱情网剧《来到你的世界》即将上线。该剧由邓科监制,王奕丁导演,南镇编剧,林柏宏、李浩菲、黄俊捷、黄一琳联合出演。《来……
吴磊斗破苍穹曝光拍摄花絮照少年剪刀手自拍超可爱由吴磊主演的电视剧《斗破苍穹》近日有最新拍摄花絮照曝光,吴磊一身粗布麻衣,深色腰带,乖巧的刘海及书生头,由内而外散发着一股少侠正少年的气息。花絮照中,吴磊时而拿手机自拍,……
大数据开发Spring5的新特性Spring5是spring的一个重要更新版本,距离SpringFramework4隔了快四年。这段时间内,大多数增强都是在SpringBoot项目中完成的。而接下来,我就将带……
电视剧启航隆重开机果靖霖竟曝剧组为三无电视剧《启航》隆重开机果靖霖竟曝剧组为三无由北京森林影画文化传媒有限公司、浙江传媒学院、北京奥影影业有限公司等联合出品,王小列执导,果靖霖(果静林)监制,果靖霖、姚刚、程……
鲁大师8月份最新安卓机型UI系统流畅榜筛选评测!你怎么看?SK数码科技9月2日消息!来自鲁大师于08。01日至08。31日一份数据显示,其对以下安卓最新发布的手机流畅榜筛选。注:部分新机测试数据较少或为工程机数据,分数不稳定。榜……
恶毒女配长腿撩动漫穿男来到你的世界脑梗预告喷血上线由蓝港影业出品,6月13日在腾讯视频独家上线播出的奇幻爱情网剧《来到你的世界》曝光脑梗版预告,别出心裁大开脑洞反转套路,脑梗密集承包今夏笑点。脑梗剧自带抖音风反套路画风击……
电视剧扶摇高燃定档0618杨幂阮经天热血不负赤子初心《扶摇》高燃定档0618杨幂阮经天热血不负赤子初心由柠萌影业,柠萌悦心,企鹅影视联合出品,改编自天下归元小说《扶摇皇后》,解嬿嬿编剧,杨文军、谢泽、李才联合执导,杨晓培担……
科技创新需要国家队随着互联网时代的快速发展,不断呈现新兴业态,数字经济开始崛起。当互联网、物联网、云计算、大数据、5G等新技术不断融合,数字经济将为各行各业全面赋能,成为世界经济的重要增长点和驱……