03 2017 档案
摘要:在使用appium测试app的时候并没有selenium那么好用,为什么呢? 个人觉得是因为定位方式太少,selenium中的xpath已经强大到基本可以找到任何一个元素。 但是在appium中xpath并不好用,而且经常是很长一串的,效果不好。基本都用resource_id来定位,那么问题来了,没
阅读全文
摘要:这个问题是我自己犯二了,开头应该是from appium import webdriver,写成了from selenium import webdriver,也可以运行,就是不能使用appium中独有的方法.
阅读全文
摘要:有两种方法 方法一,修改username字段,让他跟email字段一模一样,然后把email放到username,email字段里面,username放到firstname或者lastname里面,这样username其实就是email了。简单方便,而且代码改动也比较少,我使用的是这种。 方法二,自
阅读全文
摘要:map(f, list)函数用于将函数f运用到list里的每个元素中 写个例子 def pow(x): return x*x map(pow, [2,3,4]) reduce(f, list)函数用于将函数f运用到list的前两个元素,在将f运用到得到的结果和第三个元素,依次类推 写个例子 def
阅读全文
摘要:1. Python中的异常栈跟踪 之前在做Java的时候,异常对象默认就包含stacktrace相关的信息,通过异常对象的相关方法printStackTrace()和getStackTrace()等方法就可以取到异常栈信息,能打印到log辅助调试或者做一些别的事情。但是到了Python,在2.x中,
阅读全文
摘要:前言 日志是非常重要的,最近有接触到这个,所以系统的看一下Python这个模块的用法。本文即为Logging模块的用法简介,主要参考文章为Python官方文档,链接见参考列表。 另外,Python的HOWTOs文档很详细,连日志该怎么用都写了,所以有英文阅读能力的同学建议去阅读一下。 Logging
阅读全文
摘要:今天想要试试beautifulsoup4,安装的时候很顺利,然后就准备安装lxml作为解析器,没想到安装时pip直接给我报了一整页的错误。 解决过程 查看了一下错误提示,其中有如下一段: 于是我手动安装这个库,结果发现实际上已经安装过了,那么为什么还会提示这个问题呢?于是我又回去看输出的提示,找到了
阅读全文
摘要:性能提示 3.1 嵌套if/else结构比一系列单选if结构块,因为只要有一个条件满足,其余测试就会终止。 3.2 在嵌套if/else结构中,把最可能成立的条件放在该嵌套结构的开始处。和把不常见的条件放在开始处相比。采用这种做法后,运行的更快。 3.3 不要在循环内放入值不发生变化的表达式。 3.
阅读全文
摘要:测试与调试提示 2.1 在交互模式输入一个python语句就会执行一个。在调试程序时,这种模式尤其有用。 2.2 在一个文件调用python解释器后,解释器会在文件中的最后一个语句执行之后推出。然而,如果使用-i选项(例如python -i file.py)针对文件调用解释器,会导致编译器在执行了文
阅读全文
摘要:移植性提示 2.1 预计在python3.0中,运算符/只能执行True除法。3.0发布后,程序员要更新自己的程序,以兼容新行为。 3.1 python2.0版本开始引入增量赋值符号,在老版本python中使用增量赋值符号是语法错误。 4.1 使用核心python模块中的函数,通常可使程序更易移植。
阅读全文
摘要:常见的编程错误 2.1 试图访问一个未赋值的变量,会产生运行时错误。 2.2 ==,!=, >=和<=这几个运算符的两个符号之间出现空格,会造成语法错误。 2.3 !=,<>, >=和<=这几个运算符中,假如两个字符的顺序弄反了(分别写成=!,><, =>,=<),会造成语法错误。 2.4 切不可将
阅读全文
摘要:软件工程知识 3.1 程序设计过程中,常用伪代码来"思考"一个程序,在将伪代码程序转换成python程序。 3.2 所有python程序都可以给予6类控制结构来创建(顺序,if, if/else, if/elif/else, while, for)。不同控制结构可采用2种方式连接,即控制结构堆叠和嵌
阅读全文
摘要:良好的编程习惯 2.1 在程序中是用丰富的注释,注释有助于其他程序员理解程序,有助于程序调试(发现和排除程序中的错误),并列出有用的信息。以后修改或更新代码时,注释还有助于理解当初自己编写的程序 2.2 每个程序都应以一条注释开头,描述该程序的用途 2.3 加一些空行来增强程序的可读性 2.4 有意
阅读全文
摘要:def trans_xml_to_dict(xml): """ 将微信支付交互返回的 XML 格式数据转化为 Python Dict 对象 :param xml: 原始 XML 格式数据 :return: dict 对象 """ soup = BeautifulSoup(xml, features=
阅读全文
摘要:前言 微信支付是由微信及财付通联合推出的移动支付创新产品。如今,随着微信支付的全面开放,相关需求也越来越多,很多开发人员进行微信支付开发及商家申请微信支付时,面临着诸多疑惑。 要想开发顺利进行,首先要对业务流程有个清晰的认识。这里以微信公众号支付为例,因此也借用微信支付官方文档中的业务流程图: 接下
阅读全文
摘要:一般的步骤就是上面这些,总的来说分为三部分,去除背景,分割字符,识别。 去除背景可以通过灰度化,二值化,去噪,倾斜度校正等(一般来说灰度化和二值化都是需要的,去噪和倾斜度看情况) 安装PIL工具,下载的地址是:http://www.pythonware.com/products/pil/,pytes
阅读全文
摘要:ps aux|grep python|grep -v grep|cut -c 9-15|xargs kill -15 管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入。下面说说用管道符联接起来的 几个命令: “ps aux”是linux 里查看所有进程的命令。这时检索出的
阅读全文
摘要:进入vim按下v键,选择要操作的对象 按下y复制,d剪切,p粘贴 >缩进,<取消缩进 按下esc退出操作 按下ctrl+v,选择要操作对象, 按下大写I,写入注释符号,按下d取消注释 按下esc退出,完成注释
阅读全文