<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[df0128的专栏]]></title><description><![CDATA[不停学习，不停进步]]></description><link>https://blog.youkuaiyun.com/df0128</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; df0128]]></copyright><item><title><![CDATA[jenkins+allure+pytest持续集成（使用非jenkins机器作为执行机）]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/91046864</link><guid>https://blog.youkuaiyun.com/df0128/article/details/91046864</guid><author>df0128</author><pubDate>Thu, 06 Jun 2019 17:02:29 +0800</pubDate><description><![CDATA[1、jenkins安装插件
插件名称为Allure Jenkins Plugin，如下图所示：

2、jenkins安装allure_commandline
如果jenkins上有安装maven的话则此工具安装就比较简单了，打开jenkins的Global Tool Configuration，找到Allure Commandline，选择安装，如下所示：

如果没有安装maven，则需要去jen...]]></description><category></category></item><item><title><![CDATA[pytest教程之代码运行方式]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/91045087</link><guid>https://blog.youkuaiyun.com/df0128/article/details/91045087</guid><author>df0128</author><pubDate>Thu, 06 Jun 2019 15:43:35 +0800</pubDate><description><![CDATA[前言
pytest用例除了常用的命令行运行方式外，还有另外一种运行方式，即为代码方式，通过pytest.main()来执行，即可抓取此main文件所在的目录和同级下所有目录里的用例；
使用说明
如果要使用命令行方式运行某些用例，则可以通过添加参数的方式来进行
def main(args=None, plugins=None):
    """ return exit code, after per...]]></description><category></category></item><item><title><![CDATA[pytest教程之基础使用]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/91044035</link><guid>https://blog.youkuaiyun.com/df0128/article/details/91044035</guid><author>df0128</author><pubDate>Thu, 06 Jun 2019 14:57:33 +0800</pubDate><description><![CDATA[安装
安装使用如下代码：
pip install pytest

用例
pytest的用例都是以默认规则来的，总体来说就是如下几种:

测试文件以test_开头（以_test结尾也可以）,或者Test_
测试类以Test开头，并且不能带有 init 方法
测试函数以test_开头

如下为一个测试工程，其中不符合上述规则的文件或者用例都不会被识别为用例：

打开Terminal运行pytest -...]]></description><category></category></item><item><title><![CDATA[pytest教程之命令行方式运行用例]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/91043150</link><guid>https://blog.youkuaiyun.com/df0128/article/details/91043150</guid><author>df0128</author><pubDate>Thu, 06 Jun 2019 14:12:15 +0800</pubDate><description><![CDATA[前言
用命令行方式调用用例是我们最常用的方式，这方面确实比java的TestNG框架要好用许多，至少不用写xml文件，为了提供定制化运行用例的方式，pytest提供了许多运行命令以供定制化运行某一类测试用例或者某个测试用例等；
pycharm里命令行运行用例
在pycharm里写好了测试用例后如何运行呢？pycharm里好像并没有像eclipse里提供TestNG用的插件一样可以一键执行的方式，那...]]></description><category></category></item><item><title><![CDATA[pytest教程之分组测试]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/91040953</link><guid>https://blog.youkuaiyun.com/df0128/article/details/91040953</guid><author>df0128</author><pubDate>Thu, 06 Jun 2019 11:12:32 +0800</pubDate><description><![CDATA[分组测试用法
与java的TestNG一样，pytest同样有进行分组测试的方案，方法即使用@pytest.mark.组名的方式，譬如如下范例:
#-*- coding: utf-8 -*-
import pytest


class Test_simple():

    @pytest.mark.test
    def test_case1(self):
        print("tes...]]></description><category></category></item><item><title><![CDATA[通过nose直接将allure报告作为一个可以远程连接的网站打开]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/91039401</link><guid>https://blog.youkuaiyun.com/df0128/article/details/91039401</guid><author>df0128</author><pubDate>Thu, 06 Jun 2019 09:59:52 +0800</pubDate><description><![CDATA[前置
服务器上安装了nose、allure和pytest用例；
使用方法
先用pytest和allure生成测试报告，而后使用allure open -h 127.0.0.1 -p 8083 ./report/将生成的html文件通过浏览器进行查看，report即为allure生成的报告所在的目录，而后即可通过"http://服务器ip:8083"来访问这个allure报告了；
如下是用过的一个用...]]></description><category></category></item><item><title><![CDATA[pytest教程之设置setup和teardown]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90911552</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90911552</guid><author>df0128</author><pubDate>Wed, 05 Jun 2019 18:26:24 +0800</pubDate><description><![CDATA[在pytest中有四种setup和teardown，其中setup_module和teardown_module在整个测试用例所在的文件中所有的方法运行前和运行后运行，只会运行一次；而setup_class和setup_class则在整个文件中的一个class中所有用例的前后运行，setup_method和teardown_method在class内的每个方法运行前后运行，而setup_funct...]]></description><category></category></item><item><title><![CDATA[pytest+allure生成测试报告]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90906678</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90906678</guid><author>df0128</author><pubDate>Wed, 05 Jun 2019 17:58:21 +0800</pubDate><description><![CDATA[一、安装pytest
Pytest是Python的单元测试框架，非常方便和易用。可以规模化以及编写更加复杂的测试用例。安装方法如下：
pip install pytest

二、安装allure插件
网上很多文档说插件使用pytest-allure-adaptor，单我目前使用python3如果安装这个则会出现如下错误：
module 'pytest' has no attribute 'allu...]]></description><category></category></item><item><title><![CDATA[jenkins自定义邮件发送Editable]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90905700</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90905700</guid><author>df0128</author><pubDate>Wed, 05 Jun 2019 17:13:54 +0800</pubDate><description><![CDATA[此邮件插件不同于自带的email插件，可以自定义邮件模板，并做高级的定制，而jenkins自带的邮件则只会在构建失败后才发送邮件，且不能定制邮件内容；
1、安装插件
jenkins版本:2.73
打开jenkins的插件管理，搜索插件Email Extension Template Plugin并安装；

2、配置邮件
新建一个job并在增加构建后步骤：

选择Editable Email Not...]]></description><category></category></item><item><title><![CDATA[jenkins多job执行]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90905012</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90905012</guid><author>df0128</author><pubDate>Wed, 05 Jun 2019 16:46:01 +0800</pubDate><description><![CDATA[1、前言
jenkins版本：2.73.3
在持续集成中，会用到环境部署和自动化执行等，想要做成持续集成则需要将这几个工作顺序进行执行，当日也可以配置到一个job里，但是那样的话如果想要单独的运行某一个功能就会比较麻烦了，那么此时就可以用到多job，即将多个job放在一个job里运行。
2、安装插件Multijob plugin
在jenkins的插件管理中搜索插件Multijob plugin并...]]></description><category></category></item><item><title><![CDATA[pytest利用pytest-html生成html报告]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90749523</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90749523</guid><author>df0128</author><pubDate>Mon, 03 Jun 2019 11:33:59 +0800</pubDate><description><![CDATA[1、安装pytest-html
使用命令pip install pytest-html -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com来安装pytest-html
2、书写pytest测试用例
书写测试用例文件Test_simple.py：
#-*- coding: utf-8 -*-
impo...]]></description><category></category></item><item><title><![CDATA[ansible传文件到远程copy和从远程机器拷贝文件fetch]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90747560</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90747560</guid><author>df0128</author><pubDate>Mon, 03 Jun 2019 10:00:19 +0800</pubDate><description><![CDATA[这里主要用到两个功能，fetch和copy,其中copy是将文件拷贝到远程机器，二fetch是把文件从远程拷贝到本机，下面分别做说明(需要注意的是不支持文件夹的拷贝)：
前置条件
使用ansible进行拷贝的前置条件是安装ansible的机器上要添加远程机器的地址，后边的范例中的all即为远程机器映射的地址
1、将文件拷贝到远程机器
标准写法:ansible all -m copy -a "src...]]></description><category></category></item><item><title><![CDATA[jenkins参数化调用工程]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90702328</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90702328</guid><author>df0128</author><pubDate>Thu, 30 May 2019 18:03:59 +0800</pubDate><description><![CDATA[在使用jenkins进行持续集成的时候，有时候运行脚本是有版本要求的，为了免于每次都要修改工程，可以将此部分作为参数进行传入，构建方法如下：
1、配置参数
jenkins版本:2.73.3
在job中勾选如下图所示部分：

名字：此为参数名称，请写英文
默认值：参数的默认值
2、调用
参数设置好后就可以在构建的时候使用了；
要调用此参数使用$paramname即可；譬如上面的例子调用时使用$env...]]></description><category></category></item><item><title><![CDATA[python获取未来和过去的时间]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90485613</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90485613</guid><author>df0128</author><pubDate>Thu, 23 May 2019 18:20:40 +0800</pubDate><description><![CDATA[获取现在的时间用方法datetime.datetime.now().strftime('%F %T')，获取未来或者过去的时间可以用如下方法：
#-*- coding: utf-8 -*-
import datetime

if __name__ == '__main__':
    print(datetime.datetime.now().strftime('%F %T'))
    prin...]]></description><category></category></item><item><title><![CDATA[java获取系统环境变量System.getenv()]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90485215</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90485215</guid><author>df0128</author><pubDate>Thu, 23 May 2019 17:55:51 +0800</pubDate><description><![CDATA[java获取系统环境变量使用方法为System.getenv()(获取全部的环境信息)，System.getenv(key)(获取某个环境信息)；
key的常用值如下表所示：




键
说明




USERPROFILE
用户目录


USERDNSDOMAIN
用户域


PATHEXT
可执行后缀


JAVA_HOME
Java安装目录


TEMP
用户临时文件目录


SystemD...]]></description><category></category></item><item><title><![CDATA[java获取系统属性System.getProperty]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90484971</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90484971</guid><author>df0128</author><pubDate>Thu, 23 May 2019 17:44:22 +0800</pubDate><description><![CDATA[获取系统参数使用方法System.getProperty(property)；
property为要获取的系统属性的key；
系统属性key列表如下：




键
值




java.version
Java 运行时环境版本


java.vendor
Java 运行时环境供应商


java.vendor.url
Java 供应商的 URL


java.home
Java 安装目录


ja...]]></description><category></category></item><item><title><![CDATA[java获取当前jar包所在目录]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90484684</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90484684</guid><author>df0128</author><pubDate>Thu, 23 May 2019 17:32:44 +0800</pubDate><description><![CDATA[原本获取工程目录使用方法System.getProperty("user.dir")；
但是打完包放在linux机器上跑的时候发现无法正确获取到该jar包所在目录，导致无法运行；
网上查阅后修改为如下方法：
public String getPath()
	{
		String path = this.getClass().getProtectionDomain().getCodeSource()...]]></description><category></category></item><item><title><![CDATA[使用jenkins插件SSH plugin执行远程ssh]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/90298591</link><guid>https://blog.youkuaiyun.com/df0128/article/details/90298591</guid><author>df0128</author><pubDate>Fri, 17 May 2019 18:34:43 +0800</pubDate><description><![CDATA[1、安装插件
插件名称为SSH plugin，如下所示：

2、增加一个凭证：
（1）添加一个域（也可以使用已有的）：

此处域名可以随便写；
（2）、添加凭证
在上一步创建的域下添加一个凭证，类型选择Username with password
下面的Username和Password即为要连接的linux服务器的登录账户和密码；

3、添加remote host
进入jenkins–&gt;系...]]></description><category></category></item><item><title><![CDATA[jenkins远程执行shell出现java: command not found]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/89881363</link><guid>https://blog.youkuaiyun.com/df0128/article/details/89881363</guid><author>df0128</author><pubDate>Mon, 06 May 2019 14:03:06 +0800</pubDate><description><![CDATA[之前在使用jenkins执行远程shell脚本时，出现提示java: command not found；
多方查找原因后发现是因为远程执行shell脚本时，不会自动加载环境变量，导致出现此错误，
解决方案就是在脚本前加上这段代码即可source /etc/profile;

...]]></description><category></category></item><item><title><![CDATA[postgresql技巧之命令导出表(csv格式)]]></title><link>https://blog.youkuaiyun.com/df0128/article/details/89673596</link><guid>https://blog.youkuaiyun.com/df0128/article/details/89673596</guid><author>df0128</author><pubDate>Mon, 29 Apr 2019 14:07:03 +0800</pubDate><description><![CDATA[有时候我们需要导出某个表，但是又不能用Navicat等直接连接数据库，那么就可以使用COPY命令来导出表；
一、登录postgresql
其需要先在数据库服务器上切换账户并进入postgresql下
[root@localhost ~]# su - postgres
Last login: Sun Apr 28 18:11:32 CST 2019 on pts/0
[postgres@localh...]]></description><category></category></item></channel></rss>