闲逸笔记

keep it simple & stupid

Knitter 测试框架基础文档(草稿)

本文档假设您已有 Python 编程基础知识,以及 Selenium 基础知识。

安装条件

  • 目前只支持 Python 2.7。请下载安装最新版。

  • 目前只在 Windows 环境使用。Linux 理论上亦支持。

安装

pip install knitter

开始测试任务

  • 创建一个空的 Python package,这里起名为 "demoprj",做为我们测试项目。

    demoprj/
        __init__ ...
    
▼  展开全文... 评论(2)
Python 之参数传递与变量赋值

这两天在翻看《改善Python程序的91个建议》,里面讲到了关于参数传递的细节。感觉讲的有些复杂了,总结下自己的理解。

基本结论

  • Python 中一切皆是 object,参数传递的都是 object 的地址。

  • 不仅参数传递,变量赋值亦是如此。

特殊情况

  • 不可变对象(数字、字符串、tuple,都属于 immutable 的对象),对指向他们的变量进行修改的时候,是创建新的对象然后赋值的。

    a = 100
    print id(a)   # 24947172 ...
    
▼  展开全文... 评论(0)
Python WSGI 接口的理解与实现

WSGI(Web Server Gateway Interface) 是为了规范 多种 Python 应用程序、框架多种 Web 服务器 之间进行可移植交互而制定的一套标准。

通过 WSGI 接口,一方面与框架端进行交互,按规范(a callable object ...

▼  展开全文... 评论(0)
Python 装饰器 Decorator 工作原理分析

1). Decorator 函数的定义

  • 定义一个 demo_decorator,以及一个被它装饰的函数 demo_function。

    def demo_decorator(*args, **kwargs):
        print ">>>> ", str(demo_decorator), " == start ==", args, kwargs
    
        def handle_func(func):
            print "===> ", str(handle_func), str(func)
    
            def handle_args(*args, **kwargs):
                print ...
    
▼  展开全文... 评论(0)
Python + Selenium 做 Web UI 自动化测试时上传、下载文件对话框的操作

Selenium 是基于 JavaScript 的库,对于浏览器弹出的上传、下载文件对话框不支持。但在 Windows 操作系统中,可以通过 PyWin32 库操作对话框。

当然,对于 <input type="file" />控件,直接通过 send_keys() 即可上传。

1. 安装相关库

因为有 Windows 系统相关的交互,通过 PIP 难以安装。直接下载 exe 可执行程序进行安装。

  • PyWin32 ...
▼  展开全文... 评论(4)
Selenium WebDriver 自动化测试之 XPath

XPath 可以解决绝大部分 Web 元素的定位问题。

  • 所有的 input 标签

    //input
    
  • 所有的属性 type='hidden' 的 input

    //input[@type='hidden']
    
  • 所有的属性 type='hidden' 并且 name='ren' 的 input

    //input[@type='hidden'][@name='ren']
    
  • 所有的属性 ...

▼  展开全文... 评论(0)
Python + Selenium Web UI 自动化测试框架 Knitter

1). 简介

这个框架是自己多年自动化测试的一个总结。整个设计的思想最初在 QTP 上实践,后来在 Python 环境中使用 Selenium 完整实现。由于自身的懒惰,直到最近才写了下大致的文档,并发布到 GitHub 及 PyPI 中。

名字叫 Knitter,只是随手起的,方便管理而已。开源,BSD License。

2). 设计思想

  • 页面元素识别、页面元素操作、测试用例设计 ...
▼  展开全文... 评论(20)
VIM 通过 pathogen 管理插件

1) 版本与系统信息

  • Vim 7.4
  • Windows 7

2) 安装 pathogen

▼  展开全文... 评论(0)
关于 Web UI 自动化测试的一些思考

自动化测试,说白了,就是计算机代替人工做测试。所以,开发自动化测试程序,本质上与开发一套软件系统类似。

当然,也有一些公司开发了如 QTP 这样的自动化测试工具,目标是只需要进行录制、整理、回放即可实现自动化测试。然而目前并不算成熟,比如 QTP 要实现大量的复杂的测试用例,就需要使用集成的 VBScript 脚本做分层的框架设计,否则会有很大的维护、扩展风险。

1. 录制、回放?

  • 不论 QTP 还是 Selenium,都集成了 ...
▼  展开全文... 评论(1)
Django 一机多网站部署:Debian + Nginx + uWSGI

部署 Django 网站是很烦的事情。最近成功在 Debian VPS 机器上部署成功,将步骤记录下来备份。(一台机器多个网站)

1. 安装环境

安装基本所需的软件:

$ sudo apt-get install nginx
$ sudo apt-get install build-essential python-dev
$ sudo apt-get install python-pip
$ sudo pip install uwsgi

然后安装 ...

▼  展开全文... 评论(0)
top bottom