Python 启动Appium Service然后执行APP自动化case

复制代码
#! /usr/bin/env pyhton
# -*- coding:utf-8 -*-
# author:jeff.xie
# datetime:2024/4/11 16:54
# software:PyCharm

import  subprocess
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from time import sleep
import time


def appium_start(host, port):

    # 指定bp端口号
   bootstrap_root = str(port+1)
    # 把cmd弹窗输入的命令,直接些在这里
    cmd = 'start /b appium -a ' + host + ' -p ' +str(port)+' -bp ' +str(bootstrap_root)
    # 去掉 /b 即可打开cmd弹窗运行
    cmd = 'start  appium -a ' + host + ' -p ' +str(port)+' -bp ' +str(bootstrap_root)

    #打印输入的cmd命令以及时间
    print('%s at %s' %(cmd, time.ctime()))
    subprocess.Popen(cmd, shell= True, stdout=open('./appium_log/'+str(port)+'.log','a'), stderr=subprocess.STDOUT)

def run_case(host, port):
    print(time.strftime("%H:%M:%S"))
    desired_caps = {}
    # 系统
    desired_caps['platformName'] = 'Android'
    # 手机版本,在手机中:设置--关于手机
    desired_caps['platformVersion'] = '11'
    # 设备号
    desired_caps['deviceName'] = '9b2157cfaedb'
    # 包名
    desired_caps['appPackage'] = 'welab.bank.mobile.stage'
    # desired_caps['appPackage'] = 'welab.bank.sit'
    # # 启动名
    desired_caps['appActivity'] = 'com.welabfrontend.MainActivity'
    # desired_caps["unicodeKeyboard"] = "True"#appium提供的一种输入法,可以传中文。测试时直接用这个输入法
    # desired_caps["resetKeyboard"] = "True"#程序结束时重置原来的输入法
    # desired_caps["noReset"] = "True"#不初始化手机app信息(类似不清除缓存)
    # driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
    driver = webdriver.Remote("http://"+host+":"+str(port)+"/wd/hub", desired_caps)

    driver.wait_activity("com.welabfrontend.MainActivity", 50)
    sleep(5)
    print(time.strftime("%H:%M:%S"))


if __name__ == '__main__':
host = '127.0.0.1'
# 运行一个端口
port = 4723
appium_start(host, port)
run_case(host, port)
相关推荐
Bellafu6664 小时前
selenium常用的等待有哪些?
python·selenium·测试工具
小白学大数据5 小时前
Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
爬虫·python·ajax
2401_841495646 小时前
【计算机视觉】基于复杂环境下的车牌识别
人工智能·python·算法·计算机视觉·去噪·车牌识别·字符识别
Adorable老犀牛6 小时前
阿里云-ECS实例信息统计并发送统计报告到企业微信
python·阿里云·云计算·企业微信
倔强青铜三6 小时前
苦练Python第66天:文件操作终极武器!shutil模块完全指南
人工智能·python·面试
倔强青铜三6 小时前
苦练Python第65天:CPU密集型任务救星!多进程multiprocessing模块实战解析,攻破GIL限制!
人工智能·python·面试
Panda__Panda6 小时前
docker项目打包演示项目(数字排序服务)
运维·javascript·python·docker·容器·c#
Lris-KK7 小时前
力扣Hot100--94.二叉树的中序遍历、144.二叉树的前序遍历、145.二叉树的后序遍历
python·算法·leetcode
2501_915909068 小时前
原生 iOS 开发全流程实战,Swift 技术栈、工程结构、自动化上传与上架发布指南
android·ios·小程序·uni-app·自动化·iphone·swift
zy_destiny8 小时前
【工业场景】用YOLOv8实现抽烟识别
人工智能·python·算法·yolo·机器学习·计算机视觉·目标跟踪