Fork me on GitHub
  1. Jenkins +Sonar自动化代码扫描

    Jenkins +Sonar自动化代码扫描

    1. 安装插件SonarQube Scanner for Jenkins

    2. Jenkins->系统管理->全局工具配置->SonarQube Scanner 安装,自动安装最新版本即可。

    3. 工程配置->构建:Execute SonarQube Scanner

      JDK要1.8+,Analysis properties:

      sonar.projectKey=chenyingyu-fzggfwwt
      sonar.projectName=Jenkins-fzggfwwt
      sonar.projectVersion=1.0.0
      sonar.sourceEncoding=UTF-8
      sonar.projectDescription=fzggfwwt
      sonar.links.homepage=http://10.10.1 …

    Read more...


  2. Robot Framework练习之一——自动化Redmine操作

    目标分析

    既然是练习,那就从最基本的开始,实现登(登录)增删改功能。用例流程如下:

    1. 登录
    2. 新建issue
    3. 修改issue(增加图片)
    4. 删除issue

    难点

    • token传递
    • 上传图片

    代码结构

    一段完整的RF(Robot Framework简称)代码一般包含四部分(都为可选):

    *** Settings ***                                    # 基本配置
    Documentation     The documentation of this test suite.     
    Suite Setup       keyword                           
    Suite Teardown    keyword                           
    Test Setup        keyword                           
    Test Teardown     keyword                           
    Library           RequestsLibrary                                   
    
    *** Variables ***                                   # 初始化一些变量
    ${user}           username
    ${pw}             123456 …

    Read more...


  3. JMeter文档翻译之18-组件参考

    英文文档地址:http://jmeter.apache.org/usermanual/component_reference.html

    目录:

    Read more...


  4. Appium环境搭建及自动化的一些参考

    Appium环境配置

    本地环境:win10_x64 + JDK8 + python3

    Appium-Client安装配置

    这里我们选用python-client,建议在虚拟环境下安装,命令如下:

    pip install Appium-Python-Client
    

    Appium-Server安装配置

    推荐使用appium-desktop,图形化界面,自带Inspector,非常好用。

    Android SDK安装配置

    设置SDK环境变量

    这里只讲不使用Android Studio情况下安装SDK,首先新建一个SDK主目录(空文件夹即可),假设是D:\SDK。配置相应环境变量:

    变量名 变量值
    ANDROID_HOME D:\SDK
    PATH ;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;

    下载SDK tools并安装其他工具

    官方地址:https://developer.android.com/studio …

    Read more...


  5. JMeter文档翻译之20-函数和变量

    英文文档地址:http://jmeter.apache.org/usermanual/functions.html

    JMeter 的函数是一些特殊值,它们可以填充在测试树的任何采样器或其他元件中。函数调用的语法如下:

    ${__functionName(var1,var2,var3)}

    其中“__functionName”匹配函数的名称。 圆括号内为函数参数,不同函数的参数也不同,例如 ${__time(YMD)}。没有参数的函数可以不需要圆括号,例如 ${__threadNum}

    如果函数的参数包含逗号,需要加上“\”来转义,否则 JMeter 会把逗号当做参数的分隔符。例如:

    ${__time(EEE\, d MMM yyyy)}
    

    如果逗号没有被转义——例如 ${__javaScript(Math.max(2,5))} ——你会得到像这样的错误信息:

    ERROR - jmeter.functions …

    Read more...


  6. JMeter文档翻译之21-正则表达式

    英文文档地址:http://jmeter.apache.org/usermanual/functions.html

    21.1 概述

    JMeter 包含模式匹配软件 Apache Jakarta ORO 。 在 Jakarta 网站上有一些相关文档,例如:模式匹配字符摘要

    OROMatcher 用户指南上还有关于该产品旧版本的文档 ,也许会有些用处。

    模式匹配与 Perl 中的模式匹配非常类似。Perl 的完整安装会包含大量关于正则表达式的文档——查找 perlrequickperlretutperlreperlreref

    有必要强调“包含(contains)”和“匹配(matches)”之间的区别,它们被用在响应断言(Response Assertion)测试元件上:

    "包含(contains …

    Read more...


  7. JMeter后置处理器之常用提取器介绍

    正则表达式提取器

    • Name of created variable:用于存储结果的变量名称
    • Regular Expression:正则表达式
    • Template:模板,用于从找到的匹配项创建字符串的模板。$1$表示组1$2$表示组2$0$表示整个表达式匹配的内容,模板创建的字符串即为上面变量名称对应的值。
    • Match No.:指示要使用的匹配项。0为随机,正数n表示第n个匹配项,-1表示匹配所有。
    • Default Value:默认值,可为空

    练习网址:JSON API免费接口

    这里以JSON响应的查询快递信息为例,返回值如下(已美化且掐头去尾):

    {
        "message": "ok",
        "nu": "11111111111",
        "ischeck": "1",
        "condition …

    Read more...


  8. Python pytesseract识别验证码

    安装

    安装库

    $ pip install Pillow
    $ pip install pytesseract
    

    安装tesseract-ocr

    Windows下直接下载安装包,安装后添加到环境变量Path。

    CentOS6下(前提是各种常用源都已安装,参考centos7下添加常用YUM源(EPEL/Remi/RPMforge/php/Nginx)):

    $ yum install tesseract
    $ yum install tesseract-langpack-deu
    

    验证码识别

    核心只有一个函数pytesseract.image_to_string

    简单的验证码识别

    pytesseract-code1.jpg

    pytesseract-code2.jpg

    图片不需要任何处理:

    from PIL import Image
    import pytesseract
    
    img = Image.open("code.png")
    vcode=pytesseract.image_to_string(img, lang='eng …

    Read more...


  9. 使用Nginx+uWSGI+Flask部署应用

    原理

    WIGS(Web Server Gateway Interface)服务器网关接口

    是Python应用程序或框架和Web服务器之间的一种接口,已经被广泛接受, 它已基本达成它的可移植性方面的目标。 WSGI 没有官方的实现,因为WSGI更像一个协议。只要遵照这些协议,WSGI应用(Application)都可以在任何服务器(Server)上运行,反之亦然。 WSGI标准在 PEP 333 中定义并被许多框架实现,其中包括现广泛使用的django框架。

    所以说WIGS是一种标准

    uWIGS

    可以看作是一个应用程序,帮助我们实现WSGI协议,Http协议,这样我们可以不再关注网络通信的底层实现,将精力更多放在处理HTTP请求数据,返回HTML。利用uWIGS可以使我们的web应用得到更强的并发能力,uWIGS也可以返回静态文件(css,js,img…),但是很笨拙,一般静态文件都交由Nginx进行传输,所以配置中一般不配置static-map,如果直接由uWIGS接受HTTP请求则需要设置http:xxxx,如果只需要与反向代理服务器进行交互则只需要接受socket,uWIGS与Nginx交互相当于两个进程间交互,一般使用的是.sock文件或者指定端口接受socket。指定端口时再使用浏览器访问相应端口,uWIGS会提示skip,跳过该HTTP请求 …

    Read more...


  10. Oracle报错排查:ORA-00020:maximum number of processes (500) exceeded

    看到这个报错的时候,已经连不上数据库了。所以思路是:先结束掉部分进程,再增大连接数。

    先查找进程:

    [root@oramod ~]# ps -ef|grep oracle
    oracle    4801     1  0 Apr28 ?        00:02:24 tnslsnr LISTENER -inherit
    oracle   16284     1  0 11:41 ?        00:00:06 ora_pmon_orcl
    ......
    oracle   22021     1  0 15:07 ?        00:00:00 oracleorcl (LOCAL=NO)
    oracle   22025     1  0 15 …

    Read more...


Page 1 / 3 »