美文网首页
基于 Python 语言的 Apium 使用(一)

基于 Python 语言的 Apium 使用(一)

作者: 巴鶴 | 来源:发表于2021-06-22 21:29 被阅读0次

    一 Apium 环境搭建

    1 基础环境

    参考 https://www.jianshu.com/p/b19877c4cc32

    2 Python+Apium 环境

    • 在基础环境上继续安装。
    • 安装 python --用于编写脚本
    • 安装 Apium Python Client

    Apium Client 是对 webdriver 原生 api 的一些扩展和封装。它可以帮助我们更容
    易的写出用例,写出更好懂的用例。Apium Client 是配合原生的 webdriver 来使
    用的,因此二者必须配合使用缺一不可。

    • pinstal Apium-Python-Client

    二 Apium 环境搭建

    1 导入包

     from apium iport webdriver 
    

    2 设置 desired_capbiltes

    2.1 创建字典

    • 指定移动设备或模拟器的种类,如 iPhone Simulator,iPad Simulator,iPhone、Retina 4-inch,Android Emulator,Galxy S4 等
    device['deviceName']=192.168.120.12:55' 
    
    • 指定移动操作系统平台,如 iOS,Android 或 FirefoxOS
    device['platformName']=Android'  
    
    • 指定移动操作系统版本
    device['platformVersion']=9'
    
    • 指定 app 程序包名
    device['apPackage']=com.android.caluator2'
    
    • 指定启动页的名字
    device['apActivy']= com.android.caluator2.Calcuator' 
    

    2.2 启动App

    driver=webdriver.Remote("htp:/localhost:4723/wd/hub",device) 
    

    2.3 关闭App

    driver.quit()
    

    3 编写测试脚本

    • Apium 启动基础代码
    {
    "platformName":Android", "deviceName":192.168.120.12:55", "platformVersion":9", "apPackage":com.android.caluator2", #com.android.quicksearchbox
    "apActivy":.Calcuator" #com.android.quicksearchbox.SearchActivy
    }
    
    • Apium 点击元素
    driver.find_elment_by_id("com.android.caluator2:id/igt_9").clik()
    driver.find_elment_by_id("com.android.caluator2:id/op_ad").clik()
    driver.find_elment_by_id("com.android.caluator2:id/igt_1").clik()
    driver.find_elment_by_id("com.android.caluator2:id/eq").clik()
    
    • 回车
    driver.pes_keycode(6)
    
    • 指定每次运行测试前不重新安装 App
    device['noRest']=True
    
    • 键盘输入数据
    driver.find_elment_by_id("android.widget.EditText").send_keys("数据")
    
    • 指定 App中可以输入中文
    device['unicodeKyboard']= True
    device['rsetKeyboard']=True
    driver.find_elment_by_id("android.widget.EditText").send_keys(u"中文")
    

    4 断言

    res=driver.find_elment_by_clas_name("android.widget.EditText").ext
    if res=str(7):
    print("测试通过")
    els:
    print("测试失败")
    

    5 参数化

    使用列表

    使用列表.png
    • 将运算符修改为可识别字符串


      将运算符修改为可识别字符串.png
    • for 循环分离每个数据后参数替换


      for 循环分离每个数据后参数替换.png

    读取txt文件

    1 打开文件

    file=open(文件名,'r)

    • 返回文件对象,文本默认编码方式是 UTF-8。
    • 'r表示只是读,默认项。

    2 遍历文件

    • 按行读出,处理后可存入列表
    for 变量 in file
    

    3 关闭文件

    • 释放文件占用的系统资源。
    file.close( )
    

    读 excel 文件

    1 安装 pandas

    • pip instal -no-index -find-links=包位置 -requiremnts.xt
    • requiremnts.xt 中记录着所有需要的依赖包和版本号
    • 验证是否成功
      • python→import pandas
      • pip list
    • 导入包 import pandas

    2 获得数据

    data=pandas.read_excl("xls 文 件 名 ",shet_name=shet 表 编 号 或 名称,names=[新列名列表],dtype={"新列名":类型},skiprows=跳过数据行的行数,headr=None 表示没有列名)

    • 默认为包含列名
    • 表编号从 0 开始
    • 新列名列表中的列名要加引号
    • 获得全部数据,结果为 DatFrame(字典,列名为关键字)
    • datlist=dat.values.tolist() 返回列表

    相关文章

      网友评论

          本文标题:基于 Python 语言的 Apium 使用(一)

          本文链接:https://www.haomeiwen.com/subject/qdimyltx.html