首先,大家可以看下这个链接 Windows GUI自动化测试技术的比较和展望 . 这篇文章介绍了Windows中GUI自动化的三种技术:Windows API, MSAA - Microsoft Active Accessibility, UIAutomation 用脚本语言AutoIT实现自动化就是第一种技术Windows API, 查找窗口句柄实现的. 用工具Spy++查看程序,如果Spy++能识别程序窗口中的控件就能用这种技术. python中也有一个UI自动化测试模块pywinauto,…
编译文章:LCTT  https://linux.cn/article-4215-1.html 译者: felixonmars 文章地址:https://linux.cn/article-4215-1.html 今天我来谈谈 ansible,一个由 Python 编写的强大的配置管理解决方案.尽管市面上已经有很多可供选择的配置管理解决方案,但他们各有优劣,而 ansible 的特点就在于它的简洁.让 ansible 在主流的配置管理系统中与众不同的一点便是,它并不需要你在想要配置的每个节点上安装…
//有的shell解释器是/bin/tcsh而不是传统的/bin/bash.而且两者语法有些差异,注意避免.比如设置变量tcsh是set 变量 =`****`   1.crontab是什么,是linux里面自带的一个定时任务,可以让我们在某个时间段进行一些操作,无需人工干预.例如:定时发送邮件.自动采集.队列处理.数据备份.定时开灯等等,这只是一部分的举例,我们还可以用于更多的应用.不过在程序员里面通常用来做数据备份用以及定时执行数据操作用.crontab是每个用户都独有的.   2.也用来定时…
下面就是这个软件的下载地址 http://files.cnblogs.com/files/stevenlaz/release.zip 绿色软件 MConfig.exe 进行安装,或者卸载 MBackup.exe 是主程序 Mbackup.conf 是配置文件,修改配置,就可以自定义需要过滤掉的临时文件 release 2 >>改进分析格式的时候,如果文件太多,界面停止相应问题. >>改进分析格式,找不到3种语言中的一种,自动认为是全部种类的项目 下载哦…
很长一段时间大家都支持Selenium是只支持测试Web应用程序的. 纵观Selenium的成长历程,不难解释这个原因.Selenium开始的时候是作为一个Firefox中的插件出现的,而且做得是纯JS脚本的方式,目的就是一个老外测试的有点烦了,就写了一个js的脚本每天去run自己的测试项目.从这个点来看,老外真的很有才..想想国内的同行有谁会想到做得有点烦了,去自己搞腾一个工具去做每天的工作... 后面Selenium做得挺不错的,老外也感觉自己乐不如大家同乐...于是就开源了Selenium…
一. pywinauto知识点总结 官方英文版文档网址:https://pywinauto.readthedocs.io/en/latest/index.html 1.1 pywinauto的安装与配置 <1>相关库文件的下载地址 pywinauto最新版本下载地址: https://github.com/pywinauto/pywinauto/releases pywin32下载地址:https://sourceforge.net/projects/pywin32/files/pywin32…
原文地址:http://tech.it168.com/zx/2007-09-15/200709141320653.shtml 你可能对微软的.NET框架3.0版本的最近的一次更新感到有点奇怪.主版本指出了在平台.工具或技术的一 个主要改变.但是3.0版本纯粹只是2.0版本的一个补充,2.0版本工作的方式没有任何改变,微软只是简单的 增加了一些新的东西.        不要认为我是错误的,新的功能还很不错.Windows信息基金会为分布计算从C/S和SOA上带来了一致性.并且WWF在工作流方面比以…
做服务器肯定会涉及到游戏配表,而读取游戏配表是一个必备技能; 之前一直都是采用TinyXml直接读,匹配字符串,每次加个表都是一大坨代码,看着也是心累; 因此利用了闲暇的时间封装了一个 xml配置表 读取类; 1.支持 按照 列*行的读取方法 2.支持 按照 "标题"*行的读取方法 3.支持 按照 列*行的修改 4.支持 按照 "标题"*行的修改 //例子用的xml , 库用的是 tinyxml 2.5.3 <?xml version="1.0&qu…
Xamarin.Forms教程下载安装Windows版的Xamarin开发工具 下载安装Windows版的Xamarin开发工具 本节将讲解如何下载并安装Windows版的Xamarin开发工具. 下载安装GTK# GTK#是一个.NET库,用来绑定GTK+ GUI库.它让开发者可以使用Mono或其它兼容CLR的语言来开发GNOME应用程序.在开发Android中,也由GTK#完成一些代码的转换工作,所以GTK#也是必须的软件.以下是对GTK#进行下载安装的具体步骤. (1)打开浏览器,在地址栏…
Python封装应用程序的最佳项目结构是什么? 转载来源于stackoverflow:https://stackoverflow.com/questions/193161/what-is-the-best-project-structure-for-a-python-application 和http://www.cnblogs.com/alex3714/articles/5765046.html#3719169 开发一个终端用户桌面应用(非网页),最佳的项目文件夹层次结构是怎样的? 理想的项目…
用Flask Web框架,实现浏览器页面交互.在此之前需要了解web的基本工作流程,可参照https://blog.csdn.net/m0_37466453/article/details/72752684. 1. 我们将要做什么? 我们希望做一个简单的包含页面简单交互的例子. 从页面entry.html中输入Phrase表示某1段英文,然后从中超出letters表示特定的几个字母. 2. 初次使用Flask Web框架 Flask是开源的轻量级Python框架. 1. 导入Flask C:\U…
本节内容 python 简单介绍 python 2.x 或者python 3.x python 安装 第一个python程序 一.python简单介绍 python的创始人为吉多.范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多.范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,python已经稳居前5位.python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. 由上图可见,python整体呈上升趋…
本篇将使用selenium,phantomJS和python制作的一个示例,把某个网页整体保存为一个图片文件. 简单介绍下,selenium是一个开源的用于测试web程序的工具,当然,如果你要执行一些工作量很大的web程序,一定少不了它.支持市面上大部分浏览器. PhantomJS是一个无界面的,可用javascript编程的WebKit浏览器引擎.它原生支持多种web 标准:DOM 操作,CSS选择器,JSON,Canvas 以及SVG,速度很快. 我的环境: win10,python3.5.…
Java程序员的现代RPC指南 1.前言 1.1 RPC框架简介 最早接触RPC还是初学Java时,直接用Socket API传东西好麻烦.于是发现了JDK直接支持的RMI,然后就用得不亦乐乎,各种大作业里凡是涉及到分布式通信的都用RMI,真是方便.后来用上了Spring,发现Spring提供了好多Exporter,可以无侵入地将一个POJO暴露为RPC服务. 接触了这么多RPC框架后,发现当时公司内部自己实现了一套支持压缩.加密等附加功能的RPC基础框架,于是就读了一下源码,发现原来自己实现个…
前言 E站爬虫在网上已经有很多了,但多数都只能以图片为单位下载,且偶尔会遇到图片加载失败的情况:熟悉E站的朋友们应该知道,E站许多资源都是有提供BT种子的,而且通常打包的是比默认看图模式更高清的文件:但如果只下载种子,又会遇到某些资源未放种/种子已死的情况.本文将编写一个能自动检测最优下载来源并储存到本地的E站爬虫,该爬虫以数据库作为缓冲区,支持以后台服务方式运行,可以轻易进行分布式扩展,并对于网络错误有良好的鲁棒性. 环境要求 Python3,MySQL,安装了Aria2并开启PRC远程访问…
1. 前言 大家好,我是安果! 最近,阿里内部开源了一个 iOS 端由 Python 编写的自动化工具,即:tidevice 它是一款跨平台的自动化开源工具,不依赖 Xcode 就可以启动 WebDriverAgent( WDA ),这也就意味着 Windows 可以直接运行 iOS 自动化脚本 项目地址: https://github.com/alibaba/taobao-iphone-device 2. 准备 进入到虚拟环境,先安装 tidevice 的依赖包 # 安装依赖包 pip3 in…
经常希望可以执行一个命令行N次...windows下没有现成的工具(有?推荐给我!) 用python写一个... #!/usr/bin/evn python #coding: utf-8 """ times.py run a command line for n times """ import os import sys import string if __name__ == "__main__": n = 1 cmd =…
写一个Windows上的守护进程(6)Windows服务 守护进程因为要开机启动,还要高权限,所以我就把它做成Windows服务了. 关于Windows服务的官方文档,大家可以看https://msdn.microsoft.com/en-us/library/windows/desktop/ms686953(v=vs.85).aspx. 总的来说,服务的行为区别于普通应用程序的地方有以下几点: 1. 一般来说,服务是运行于System用户下的,当然也可以自己指定.也就是说服务可以在无用户登录的情…
背景是曾经友情支持了测试组一小段时间,发现他们使用selenium做页面的自动化测试,需要用到XPath,但IE下没有获取XPath的工具,只能在Firefox和chrome下获取,步骤还比较麻烦.而且有些页面在chrome和ie生成的代码的不一样的,所以chrome下获取的xpath,到ie下就无法工作,只能自己在ie下查看页面元素自己写xpath,痛苦而且效率低下. 于是"大发慈悲",自己花了一天左右(开发加调试)写了这款小工具,弥补了IE下没有获取XPath工具的空缺.一开始用D…
使用boost.python封装C++库 C++以高性能著称,但是编写较为复杂.而简洁是Python的强项.如果能珠联璧合,就能发挥两家之长.本文尝试用boost库的python模块封装C++ 前期准备 需要安装Python和boost库,特别注意的是,在安装boost时,要指明with-python的版本 sudo apt install python3-dev build-essential git clone https://github.com/boostorg/boost.git cd…
以下是pywinauto使用指南.这个窗口句柄可以在Spy++中查看 (Microsoft Spy++(查看窗口句柄) 10.00.30319 官方最新绿色版) python自动化工具之pywinauto(一) python自动化工具之pywinauto(二) python自动化工具之pywinauto(三) 二.pyuserinput使用方法 //导入模块 import pymouse,pykeyboard,os,sys from pymouse import * from pykeyboar…
有趣的键盘记录: 安装pyHook: http://nchc.dl.sourceforge.net/project/pyhook/pyhook/1.5.1/pyHook-1.5.1.win32-py2.7.exe 安装pythoncom: http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/pywin32-219.win32-py2.7.exe/download 若上述两个包安装没问题的话调用猜测的结果是这样的: 因…
什么是封装 在程序设计中,封装(Encapsulation)是对具体对象的一种抽象,即将某些部分隐藏起来,在程序外部看不到,其 含义是其他程序无法调用. 要了解封装,离不开“私有化”,就是将类或者是函数中的某些属性限制在某个区域之内,外部无法调用. 为什么要封装 封装数据的主要原因是:保护隐私(把不想别人知道的东西封装起来) 封装方法的主要原因是:隔离复杂度(比如:电视机,我们看见的就是一个黑匣子,其实里面有很多电器元件,对于 用户来说,我们不需要清楚里面都有些元件,电视机把那些电器元件封装在黑…
ISE(Iris Server Engine)是一个基于现代C++的跨平台(Linux和Windows)的高性能多线程并发网络服务器程序框架.它封装了琐碎的socket以及各种操作系统APIs,以面向对象方式向开发者提供稳定.高效.易扩展.易配置.易维护的程序框架.ISE的用户只需遵循接口的约定,挂接自己的业务程序,即可轻松开发出稳定.高效的网络服务器程序. ISE的主要特点: 跨平台.目前支持Linux和Windows. 基于多线程并发,而非多进程. 支持TCP与UDP服务端程序开发. 基于P…
原文链接:http://www.jianshu.com/p/df5918069612 scapy 是 python 写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网络攻击和测试中. —— 由方石剑分享 scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送.嗅探.解析和伪造网络数据包,常常被用到网络攻击和测试中. scapy的安装在Linux非常便利,但在Windows下比较复杂. 以下假定读者使用的是Ubuntu Linux 和…
我们测试中,肯定需要,打开一个页面,然后测试这个页面的多个用例,才关闭这个页面,去测试其他页面,在unittest是有相关测试固件方法去支持这种行为.请看下面 # coding=utf-8 import time import unittest from framework.browser_engine import BrowserEngine from pageobjects.baidu_homepage import HomePage class BaiduSearch(unittest.T…
目录 python 封装.绑定 1.数据.方法的封装 2.隐藏属性 3.开放接口 4.绑定方法 1.对象的绑定 2.类的绑定(classmethod) 3.非绑定方法(staticmethod) 4.property()函数及property装饰器 1. property() 函数 property装饰器 3.注意! python 封装.绑定 面向对象共有三大特性:封装.继承.多态,这篇文章主要介绍一下类的封装,以及类的绑定. 封装:意思就是整合代码,将数据和功能整合到一起,起到规范代码的作用,…
面向对象三大特性 封装:根据职责将属性和方法封装到一个抽象的类中 继承:实现代码的重用,相同代码不需要重复的编写 1.单继承 2.多继承 多态:不同的对象调用相同的方法,产生不同的执行结果,增加代码的灵活度   面向对象--封装 封装是面向对象一大特点 面向对象编程的第一步--将属性和方法封装到一个抽象的类中 外界使用类创建对象,然后让对象调用方法 对象方法的细节,都被封装中类的内部 在对象的方法内部,是可以直接访问对象的属性的 在同一个类创建多个对象之间,属性互不干扰 一个对象的属性,可以是另…
这两周一直太忙,没有好好处理上上上周遇到的一个让我加班到凌晨的问题,这个问题是判断flash的加载. 之前的思路是让flash的人在制作flash的时候,加入了一个回调方法,该方法再会回调我页面的方法. 想象虽然很丰满,但是现实确很骨感,由于页面资源的加载顺序问题,如果flash是通过缓存读取得到的,那么flash便会先于我的脚本加载,这时便会出现flash调不到我定义的方法.但是由于功能的原因以及考虑页面的整洁性,我又不能将脚本放入到head中,最终的解决思路就是在head中加入一个scrip…
因为工作的需求之前也封装过一个JS分享插件,集成了我们公司常用的几个分享平台. 但是总感觉之前的结构上很不理想,样式,行为揉成一起,心里想的做的完美,实际上总是很多的偏差,所以这次我对其进行了改版. 这次的核心就是:JS只负责事件+结构,也就是把功能实现出来,具体的外观样式,则使用者自己进行定义. 以下是新版分享插件的代码: (function(root){ 'use strict'; function share(params){ this.params = params; this.dom…