精心整理python自动化测试小技巧一 (最好ctrl+f直接搜关键字)

来源:互联网 发布:wan 微型端口 ip 编辑:程序博客网 时间:2024/05/22 01:52
  1. 截图

    from datetime import *
    wzj.get_screenshot_as_file(u”D:/save_screenshot/%s.png” % datetime.now().strftime(“%Y%m%d.%H%M%S.%f”)[:-3])

    2.创建静态方法:
    在类的函数下,foo=staticmethod(方法名)
    3.创建类方法:
    在类下,foo=classmethod(foo)
    super(子类名,self).方法名, 可以直接调取基类方法,自动传self
    4.一定要用好数据驱动和熟悉关键字驱动
    5.类中的函数可以在前头写上装饰器:@staticmethod 则可以把该函数变成静态函数,不用加入self了
    6.多装饰器可以堆叠来写,也可以写成 foo=deco2(deco1(foo))
    7.1中的截图代码只能截取当前farme的,回到最外层farme代码wzj.switch_to_default_content()
    8.字符串去重

    list(set(字符串))
    ids = [1,4,3,3,4,2,3,4,5,6,1]
    news_ids = list(set(ids))
    news_ids.sort(ids.index) 此方法的作用列表无法保护字列表

ids = [1,4,3,3,4,2,3,4,5,6,1]
func = lambda x,y:x if y in x else x + [y]
reduce(func, [[], ] + ids)

9.import sys 也可以写成 sys = import(‘sys’)
10.简化:def true():return "hello" 等价于 true=lambda:"hello"
def add(x,t):return x+y 等价于 add=lambda x,y:x+y

11.如果用元组或字典作为参数传递给函数时,元组前需要加* ,字典前需要加**
当函数的形参存在元组时,调用该函数时多传入的参数都会被放在元组形参中。
当函数的形参存在字典时,调用该函数时多传入的等式会被放在字典中,等式左边为KEY,右边为value。
字典和元组同时存在时,字典最好放在元组后面。
函数的参数设置默认值得话,没有默认值得参数必须在最前面。如def a(x,t,z=5,aa=6):
12.如果for循环未被break终止,才会执行else中的语句。for 中出现continue,则跳过下面所有语句,开始下一轮循环。
13.创建新进程 new = os.fork()
14.返回一个列表,元素为1到10随机,元素有2个。
print [randint(1,10) for i in range(2)]
15.迭代器:i = iter(对象)
print i.next()
i= iter(a,b) 迭代器会重复调用a,直到下一个值为b
16.字典的更新方法,dict.update(dict2) —2添加到1中,但是重复的部分会是2。
17.open 和 os.open不同,是模拟用户操作,肉眼不可见
os.system可以打开并且肉眼可见
打开文件夹
wenjianjia="D:\\chaoji\\save_screenshot"
os.system("explorer.exe %s"%wenjianjia)

18.导入的函数方法可以在import 后面 写 as xxx,来进行简化,如
from random import randint as ri
19.过滤函数filter: filter(lambda n:n%2,[2,3,4,5,5,6,6,7,7,8]) 返回的是符合判断的原列表的元素组成的新列表
作用元素 map : map((lambda x:x+2),[0,1,2,3,4,5,6,7,8,9,11]) 返回的是所有的元素进行操作后的新的元素组成的列表,因为map是对单个元素进行操作的,所以当操作多个序列时,就会把各个序列的第一个元素当作一个元组,第二个元素当一个元组….,然后把这些个元组组成列表给返回了。如果不操作的话,那就和zip函数一样的功能了,如:map(None,[1,3,5],[2,4,6])
折叠函数 俄罗斯套娃 reduce() :reduce((lambda x,y:x+y),range(5)) 先第一个+第二个,返回的和再加第三个,返回的和再加第四个….如果有初始化器,则先初始化器+第一个,返回的数+第二个….初始化器是reduce(函数,数据,初始化器)
以上的lambda部分可以加括号也可以不加!
20.直接打开浏览器
import webbrowser
webbrowser.open_new_tab("www.baidu.com") :可以打开浏览器并进入网址。

21.操作命令行
os.system("TASKKILL /F /IM firefox.exe") :杀死什么什么的进程
22.print后会默认加一个换行符,只要在输出内容的结尾加一个逗号,便可以变成同行
23.原始字符串:字符串前引号前贴个r
24.偏函数:from functools import partial
add1 = partial(add,1) 等价于 add1(x) == add(1,x) :就是把一个函数和固定的初始值固定在一起组成了个新函数
如固定把二进制转整形, basetwo = partial(int,base=2) —— print basetwo(‘10010’) ——- 18 :注意如果固定值不是第一个参数,需要用关键字参数法
25.指针指定文件的位置
f=open(“aaa.txt”,’r’)
f.seek(x,0) x代表偏移量 0代表文件开头算起,1代表当前位置算起,2代表结尾算起
f.tell() 显示当前光标的位置 再之后执行readline()的话,会从光标处开始
26.指针指定文件的位置
f=open(“aaa.txt”,’r’)
f.seek(x,0) x代表偏移量 0代表文件开头算起,1代表当前位置算起,2代表结尾算起
f.tell() 显示当前光标的位置 再之后执行readline()的话,会从光标处开始
27.列表解析:
print [i+5 for i in [1,2,3,4,5] if i>2]
print [(x+1,y+2) for x in rang(3) for y in range(5)]
f=open(“aaa.txt”,’r’)
print [word for line in f for word in line.split()]
把文件拆分成一个一个的单词
28.快速的计算文件的大小
import os
print os.stat(‘aaa.txt’).st_size
29.时间戳
times = time.strftime(‘%Y-%m-%d %H:%M:%S’,time.localtime())
30.三元操作符:smaller=x if x

0 0
原创粉丝点击