zoukankan      html  css  js  c++  java
  • Appium

    目前常用框架:

    Robotium

    UiAutomato

    Monkey

    MonkeyRunner

    Instrumentation

    Athrun

    2个一键自动化测试框架

    1个自动化服务

    获取app 进程信息:

    adb devices

    获取apk 包信息:

    aapt dump badging xxx.apk

    app UI 层级查看软件:

    sdk/tools 路径下: UIAutomator Viewer

    具体内容见代码:

    滑动,swipe()

    在初始化caps 内加入, 可以避免重复安装"noReset" : "true"

    使用xpath 定位,最后如果跟上..,/precoding-sibling:: 则是上层父节点

    WebView 定位

    获取webview 思路,先获取父容器:

    webview = driver.contexts
    

    智能等待:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions
    

    智能等待:

    tost_element = ("xpath","//*[contains(@text,'请输入密码')]")
    #等待定时循环查找这个目标tost_element,当能查找到时候
    WebDriverWait(driver,持续事件,间隔时间).until(EC.presence_of_element_located(tost_element))
    

    多线程 threading

    import threading
    
    def sum(a,b):
    	print a+b
    for i in range(3)
    	print i
    	threading.Thread(target=sum,args=())
    

    5 无界面运行 Appium

    需要XXXX或者使用淘宝的镜像

    需要FQ: npm install appium  
    淘宝镜像安装cnpm: npm install appium -g cnpm --registrys=http://registry.taobao.org
    使用cnpm 安装appium:
    cnpm install -g appium 
    默认启动 appium:
    appium
    指定端口启动 appium:
    appium -p 4725
    另一种监听:
    appium -p 4725 -bp 4701
    另一种监听:
    appium -p 4725 -bp 4701 -U 127.0.0.1:21503
    

    命令行输入值

    import os
    print os.system('adb devices') # 括号内为具体命令内容
    # 结果:
    # 127.0.0.1:21503 devices
    # 获取值:
    # pirnt os.popen('adb devices').readlines()
    class DosCmd:
        def excute_cmd_result(self):
        	result = os.popen('adb devices').readlines()#获取到list
            for i in result:
                if i == '
    ':
                    continue
    			result_list.append(i.strip('
    '))
                
    
        
    

    5-3 server.py

    5-4 检测端口是否被占用 : port.py

    netstat -ano | findstr 8080

    拼接字符串单独使用变量接收

    5-6 封装生成启动命令行函数

    appium -p 4725 -bp 4701 -U 127.0.0.1:21503 --no-reset --session-override
    

    5-8 清理 appium 环境

    tasklist | find "node.exe" 查询
    taskkill -F -PID python.exe
    

    5-9 通过 yaml 文件 获取命令行数据

    启动命令:

    appium -p 4700 -bp 4701 -U 127.0.0.1:21503
    

    创建 一个 .yaml 文件,存储相关的端口等参数

    __info_0: {bp: '4902',deviceName: '127.0.0.1:21503',port: '4723'}
    

    pip install pyyaml 安装

    pip install pyyaml 安装
    

    导入 yaml :

    import yaml
    class WriteUserCommand:
    	de 
    	with open("../config/userconfig.yaml") as fr:
    		data yaml.load(fr)#导入的是字典
    	print data['user_info_0']['bp']
    
  • 相关阅读:
    zabbix系列(七)zabbix3.0添加对tcp连接数及状态的监控
    zabbix系列(六)zabbix添加对ubuntu系统的监控
    zabbix系列(六)zabbix添加对ubuntu系统的监控
    centos命令行变成了-bash-4.1$的解决办法
    zabbix常见报错问题处理
    sqlyog通过跳板机ssh连接mysql数据库
    centos系统初始化脚本
    修改centos和ubuntu ssh远程连接端口提升系统安全性
    listener failed: zbx_tcp_listen() fatal error: unable to serve on any address [[-]:20050]
    zabbix系列(五)zabbix3.0.4 探索主机Discovery自动发现主机详细图文教程
  • 原文地址:https://www.cnblogs.com/521world/p/11389380.html
Copyright © 2011-2022 走看看