• appium自动化测试(5)-一些pyhon操作


    1、套件的问题
    将所有的测试用例加进去,会一个个执行,用于用例名字没有规范test开头的时候
    1. def suite():
    2. suite = unittest.TestSuite
    3. suite.addTest(LoginTestCase("test_log_in"))
    4. suite.addTest(LoginTestCase("test_log_out"))
    5. return suite
    6. if __name__ =='__main__':
    7. unittest.main(defaultTest ='suite')
    2、python异常
    1. try:
    2. self.driver.find_element_by_id('tv_subtopiccomments_content')
    3. result =0
    4. except Exception as e:
    5. result =1
    6. self.assertEqual(result,1,'delete topic sub comment failed')
    3、用adb命令可以通过id打开确切的某个页面
    备注:import os
    4、封装(!!每个包需要有init文件)
    ◆ from 包.名字 import 文件名:from util import Add
    ◆ 引用:文件名.类名().方法名(参数):Add.add().findById(self.driver)
    函数

    4、图像对比使用PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。
    http://effbot.org/imagingbook/
    5、python读取excel数据
    1. excel = xlrd.open_workbook('excel文件位置')
    2. sheet = excel.sheets()[0]# 读取第一个sheet数据
    3. a =[]
    4. for i in range(0,10):
    5. a.append(sheet.row_values(i)) # 读取保存在list里
    6. print(a[i])
    7. print(sheet.row_values(1))# 打印第i行 print(sheet.col_values(0)) # 打印第j列
    6、安装xlrd、xlwt插件,读取excel文件
    下载:https://pypi.python.org/pypi/xlwt
    解压,从命令窗口进入目录
    运行python setup.py install
    在pycharm的界面import一下
    
    
    
    

    Python文件读写

    1、读取文件

    读取txt文件,要定义标识符,打开文件之后要调用关闭函数

    f = file(name[, mode[, buffering]])
    入口参数: name 文件名
    mode 字符串
    buffering 是否缓冲 (0=不缓冲,1=缓冲, >1的int数=缓冲区大小)

    mode 选项
    r:以读方式打开,只能读文件 , 如果文件不存在,会发生异常
    w : 以写方式打开,只能写文件, 如果文件不存在,创建该文件,如果文件已存在,先清空,再打开文件
    rb: 以二进制读方式打开,只能读文件 , 如果文件不存在,会发生异常
    wb: 以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件.如果文件已存在,先清空,再打开文件
    rt: 以文本读方式打开,只能读文件 , 如果文件不存在,会发生异常
    wt: 以文本写方式打开,只能写文件, 如果文件不存在,创建该文件.如果文件已存在,先清空,再打开文件
    rb+: 以二进制读方式打开,可以读、写文件 , 如果文件不存在,会发生异常
    wb+: 以二进制写方式打开,可以读、写文件, 如果文件不存在,创建该文件如果文件已存在,先清空,再打开文件

    report = open(path, 'r')  # 读文件形式打开可读文件print("Before changed: " + report.read() + '
    ') #read一次读取所有
    report.close()
    report = open(path, 'wb')  # 打开可写文件
    report.write("Yes! It's Alien!")
    report.close()
    report = open(path, 'r')
    print('After changed: ' + report.read() + '
    ')report.close()

    引入with,自动调用close函数,防止中间报错,系统打开过多文件

    with open('/path/to/file', 'r') as f: print f.read()

    如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:

    for line in f.readlines(): 
         print(line.strip()) # 把末尾的'
    '删掉

    2、读取二进制文件

    默认都是读取文本文件,并且是ASCII编码的文本文件。要读取二进制文件,比如图片、视频等等,用'rb'模式打开文件即可:

      f = open('/Users/michael/test.jpg', 'rb')
      f.read()'xffxd8xffxe1x00x18Exifx00x00...' # 十六进制表示的字节

    3、清空文件内容

    f.truncate()

    4、读取txt的某一行

    # with open(path, 'r') as fd:
    # for line in fd:
    # lnum += 1
    # if (lnum == 11):
    # token = line[15:-1]
    # print(token)
    # fd.close()
    
    
    5、读取json数据,key的value值
    def getvalue(testfile,key):
    res=[]
    s=''
    with open(testfile, 'r') as f:
    for line in f:
    line=line.decode('gbk')
    if(line.find(key)<>-1):
    s=line.split(key)[1].strip().split(' ')[0].strip()
    return s

    print(getvalue(path, 'X-Access-Token:'))
    
    





    多点坚持~期待优雅~
  • 相关阅读:
    ES基础(十三)Dynamic Template和Index Template
    ES基础(十一)显式Mapping设置与常见参数介绍
    ES基础(十)Dynamic Mapping 和常见字段类型
    ES基础(九)Query & Simple Query String Query
    ES基础(八)Request Body 与 Query DSL
    Docker 核心技术与实现原理
    error gathering device information while adding custom device
    Linux下使用内核源码单独编译某一模块
    kata container endpoint
    Virtio_user for Container Networking
  • 原文地址:https://www.cnblogs.com/qingxd/p/5533754.html
Copyright © 2020-2023  润新知